在 Azure 数据工厂中排查 SSIS Integration Runtime 管理问题Troubleshoot SSIS Integration Runtime management in Azure Data Factory

本文提供的故障排除指南针对 Azure-SQL Server Integration Services (SSIS) Integration Runtime (IR)(简称 SSIS IR)中的管理问题。This article provides troubleshooting guidance for management issues in Azure-SQL Server Integration Services (SSIS) Integration Runtime (IR), also known as SSIS IR.

概述Overview

如果在预配或取消预配 SSIS IR 时遇到任何问题,则 Azure 数据工厂门户中会显示错误消息,或者 PowerShell cmdlet 会返回一条错误。If you run into any issue while provisioning or deprovisioning SSIS IR, you'll see an error message in the Azure Data Factory portal or an error returned from a PowerShell cmdlet. 错误始终以错误代码的格式显示,并附带详细的错误消息。The error always appears in the format of an error code with a detailed error message.

如果错误代码为 InternalServerError,则表示服务出现了暂时性的问题,应该在以后重试该操作。If the error code is InternalServerError, the service has transient issues, and you should retry the operation later. 如果重试不起作用,请联系 Azure 数据工厂支持团队。If a retry doesn’t help, contact the Azure Data Factory support team.

否则,以下三个主要的外部依赖项可能会导致错误:Azure SQL 数据库服务器或托管实例、自定义安装脚本和虚拟网络配置。Otherwise, three major external dependencies can cause errors: an Azure SQL Database server or managed instance, a custom setup script, and a virtual network configuration.

Azure SQL 数据库服务器或托管实例问题Azure SQL Database server or managed instance issues

如果要使用 SSIS 目录数据库预配 SSIS IR,则需要 Azure SQL Database 服务器或托管实例。An Azure SQL Database server or managed instance is required if you're provisioning SSIS IR with an SSIS catalog database. SSIS IR 必须能够访问 Azure SQL Database 服务器或托管实例。The SSIS IR must be able to access the Azure SQL Database server or managed instance. 此外,Azure SQL Database 服务器或托管实例的帐户应具有创建 SSIS 目录数据库 (SSISDB) 的权限。Also, the account of the Azure SQL Database server or managed instance should have permission to create an SSIS catalog database (SSISDB). 如果出现错误,则会在数据工厂门户中显示带有详细 SQL 异常消息的错误代码。If there's an error, an error code with a detailed SQL exception message will be shown in the Data Factory portal. 使用以下列表中的信息来对错误代码进行故障排除。Use the information in the following list to troubleshoot the error codes.

AzureSqlConnectionFailureAzureSqlConnectionFailure

在预配新的 SSIS IR 或 IR 正在运行时,可能会出现此问题。You might see this issue when you're provisioning a new SSIS IR or while IR is running. 如果在 IR 预配过程中遇到此错误,则可能会在错误消息中获取详细的 SqlException 消息,指示以下问题之一:If you experience this error during IR provisioning, you might get a detailed SqlException message in the error message that indicates one of the following problems:

  • 网络连接问题。A network connection issue. 检查 SQL Server 或托管实例主机名是否可访问。Check whether the SQL Server or managed instance host name is accessible. 同时,确保没有防火墙或网络安全组 (NSG) 阻止 SSIS IR 访问服务器。Also verify that no firewall or network security group (NSG) is blocking SSIS IR access to the server.
  • SQL 身份验证期间登录失败。Login failed during SQL authentication. 提供的帐户无法登录 SQL Server 数据库。The account provided can't sign in to the SQL Server database. 请确保提供正确的用户帐户。Make sure you provide the correct user account.
  • Microsoft Azure Active Directory (Azure AD) 身份验证(托管标识)期间登录失败。Login failed during Microsoft Azure Active Directory (Azure AD) authentication (managed identity). 将工厂的托管标识添加到 AAD 组,并确保托管标识具有对目录数据库服务器的访问权限。Add the managed identity of your factory to an AAD group, and make sure the managed identity has access permissions to your catalog database server.
  • 连接超时。Connection timeout. 此错误始终是由与安全相关的配置引起的。This error is always caused by a security-related configuration. 建议:We recommend that you:
    1. 创建新 VM。Create a new VM.
    2. 如果 IR 在虚拟网络中,请将 VM 加入相同的 IR Microsoft Azure 虚拟网络。Join the VM to the same Microsoft Azure Virtual Network of IR if IR is in a virtual network.
    3. 安装 SSMS 并检查 Azure SQL Database 服务器或托管实例状态。Install SSMS and check the Azure SQL Database server or managed instance status.

对于其他问题,请修复详细的 SQL 异常错误消息中显示的问题。For other problems, fix the issue shown in the detailed SQL Exception error message. 如果仍有问题,请联系 Azure SQL Database 服务器或托管实例支持团队。If you’re still having problems, contact the Azure SQL Database server or managed instance support team.

如果在 IR 正在运行时出现错误,那么网络安全组或防火墙更改可能会阻止 SSIS IR 工作器节点访问 Azure SQL Database 服务器或托管实例。If you see the error when IR is running, network security group or firewall changes are likely preventing the SSIS IR worker node from accessing the Azure SQL Database server or managed instance. 取消阻止 SSIS IR 工作器节点,使其可以访问 Azure SQL Database 服务器或托管实例。Unblock the SSIS IR worker node so that it can access the Azure SQL Database server or managed instance.

CatalogCapacityLimitErrorCatalogCapacityLimitError

这种错误消息可能如下所示:“数据库 'SSISDB' 已达到大小配额。Here's what this kind of error message might look like: “The database 'SSISDB' has reached its size quota. 请将数据分区或删除、删除索引,或查阅文档以找到可能的解决方法。”Partition or delete data, drop indexes, or consult the documentation for possible resolutions.”

可能的解决方法包括:The possible solutions are:

  • 增加 SSISDB 的配额大小。Increase the quota size of your SSISDB.
  • 通过以下方法更改 SSISDB 的配置以减小大小:Change the configuration of SSISDB to reduce the size by:
    • 缩短保留期,减少项目版本数。Reducing the retention period and number of project versions.
    • 缩短日志的保持期。Reducing the retention period of the log.
    • 更改日志的默认级别。Changing the default level of the log.

CatalogDbBelongsToAnotherIRCatalogDbBelongsToAnotherIR

此错误表示 Azure SQL Database 服务器或托管实例已具有 SSISDB,并且它正被另一个 IR 使用。This error means the Azure SQL Database server or managed instance already has an SSISDB and that it's being used by another IR. 需要提供不同的 Azure SQL Database 服务器或托管实例,或者删除现有 SSISDB 并重启新的 IR。You need to either provide a different Azure SQL Database server or managed instance or else delete the existing SSISDB and restart the new IR.

CatalogDbCreationFailureCatalogDbCreationFailure

存在以下任一原因时,可能出现此错误:This error can occur for one of the following reasons:

  • 为 SSIS IR 配置的用户帐户没有创建数据库的权限。The user account that's configured for the SSIS IR doesn't have permission to create the database. 可以授予用户创建数据库的权限。You can grant the user permission to create the database.
  • 在数据库创建期间发生超时,如执行超时或 DB 操作超时。A timeout occurs during database creation, such as an execution timeout or a DB operation timeout. 应稍后重试此操作。You should retry the operation later. 如果重试不起作用,请联系 Azure SQL Database 服务器或托管实例支持团队。If the retry doesn’t work, contact the Azure SQL Database server or Managed Instance support team.

对于其他问题,请检查 SQL 异常错误消息,并修复错误详细信息中提到的问题。For other issues, check the SQL Exception error message and fix the issue mentioned in the error details. 如果仍有问题,请联系 Azure SQL Database 服务器或托管实例支持团队。If you’re still having problems, contact the Azure SQL Database server or managed instance support team.

InvalidCatalogDbInvalidCatalogDb

这种错误消息如下所示:“对象名称 'catalog.catalog_properties' 无效。”在这种情况下,已经有一个名为 SSISDB 的数据库,但它不是由 SSIS IR 创建的,或者该数据库处于无效状态,这是由上一个 SSIS IR 预配中的错误引起的。This kind of error message looks like this: “Invalid object name 'catalog.catalog_properties'.” In this situation, either you already have a database named SSISDB but it wasn't created by SSIS IR, or the database is in an invalid state that's caused by errors in the last SSIS IR provisioning. 可以删除名称为 SSISDB 的现有数据库,也可以为 IR 配置新的 Azure SQL Database 服务器或托管实例。You can drop the existing database with the name SSISDB, or you can configure a new Azure SQL Database server or managed instance for the IR.

自定义安装问题Custom setup issues

自定义安装提供了一个接口,用于在预配或重新配置 SSIS IR 时添加自己的安装步骤。Custom setup provides an interface to add your own setup steps during the provisioning or reconfiguration of your SSIS IR. 有关详细信息,请参阅自定义 Azure-SSIS Integration Runtime 的安装For more information, see Customize setup for the Azure-SSIS Integration Runtime.

确保容器只包含必需的自定义安装文件,且容器中的所有文件都将下载到 SSIS IR 工作器节点。Make sure your container contains only the necessary custom setup files; all the files in the container will be downloaded onto the SSIS IR worker node. 建议在本地计算机上测试自定义安装脚本,以便在 SSIS IR 中运行脚本之前解决任何脚本执行问题。We recommend that you test the custom setup script on a local machine to fix any script execution issues before you run the script in SSIS IR.

在 IR 运行时,将检查自定义安装脚本容器,因为 SSIS IR 会定期更新。The custom setup script container will be checked while IR is running, because SSIS IR is regularly updated. 此更新需要访问该容器才能下载自定义安装脚本并再次安装。This updating requires access to the container to download the custom setup script and install it again. 此过程还会检查容器是否可访问,以及 main.cmd 文件是否存在。The process also checks whether the container is accessible and whether the main.cmd file exists.

对于任何涉及自定义安装的错误,你将看到一个 CustomSetupScriptFailure 错误代码,其中包含 CustomSetupScriptBlobContainerInaccessible 或 CustomSetupScriptNotFound 之类的子代码。For any error that involves custom setup, you'll see a CustomSetupScriptFailure error code with sub code like CustomSetupScriptBlobContainerInaccessible or CustomSetupScriptNotFound.

CustomSetupScriptBlobContainerInaccessibleCustomSetupScriptBlobContainerInaccessible

此错误表示 SSIS IR 无法访问 Azure Blob 容器进行自定义安装。This error means that SSIS IR can't access your Azure blob container for custom setup. 确保可访问容器的 SAS URI 且其未过期。Make sure the SAS URI of the container is reachable and has not expired.

如果 IR 正在运行,请停止它,使用新的自定义安装容器 SAS URI 重新配置 IR,然后重启 IR。Stop the IR if it's running, reconfigure the IR with new custom setup container SAS URI, and then restart the IR.

CustomSetupScriptNotFoundCustomSetupScriptNotFound

此错误表示 SSIS IR 在 Blob 容器中找不到自定义安装脚本 (main.cmd)。This error means that SSIS IR can't find a custom setup script (main.cmd) in your blob container. 确保容器中存在 main.cmd,这是自定义安装的入口点。Make sure that main.cmd exists in the container, which is the entry point for custom setup installation.

CustomSetupScriptExecutionFailureCustomSetupScriptExecutionFailure

此错误表示自定义安装脚本 (main.cmd) 执行失败。This error means the execution of custom setup script (main.cmd) failed. 首先在本地计算机上尝试执行该脚本,或者检查 Blob 容器上的自定义安装执行日志。Try the script on your local machine first, or check the custom setup execution logs on your blob container.

CustomSetupScriptTimeoutCustomSetupScriptTimeout

此错误指示执行自定义安装脚本超时。This error indicates an execute custom setup script timeout. 确保你的脚本可以在无提示的情况下执行,且无需任何交互式输入,并确保你的 blob 容器只包含必要的自定义安装文件。Make sure that your script can be executed silently, and no interactive input needed, and make sure your blob container contains only the necessary custom setup files. 建议先在本地计算机上测试脚本。It is recommended to test the script on local machine first. 还应检查 Blob 容器中的自定义安装执行日志。You should also check the custom setup execution logs in your blob container. 自定义安装的最长持续时间为 45 分钟,超过此时限则超时。这段时间包括从容器下载所有文件并将其安装在 SSIS IR 上的时间。The maximum period for custom setup is 45 minutes before it times out, and the maximum period includes the time to download all files from your container and install them on SSIS IR. 如果需要更长时间,请提交支持票证。If you need a longer period, raise a support ticket.

CustomSetupScriptLogUploadFailureCustomSetupScriptLogUploadFailure

此错误表示尝试将自定义安装执行日志上传到 Blob 容器失败。This error means that the attempt to upload custom setup execution logs to your blob container failed. 出现此问题可能是因为 SSIS IR 对 Blob 容器没有写入权限,也可能是因为存储或网络问题。This problem occurs either because SSIS IR doesn't have write permissions to your blob container or because of storage or network issues. 如果自定义安装成功,此错误不会影响任何 SSIS 功能,但日志将丢失。If custom setup is successful, this error won't affect any SSIS function, but the logs will be missing. 如果自定义安装因另一个错误而失败,并且日志未上传,我们将首先报告此错误,以便可以上传日志进行分析。If custom setup fails with another error, and the log isn't uploaded, we will report this error first so that the log can be uploaded for analysis. 另外,在解决此问题后,我们将报告更多具体问题(如有)。Also, after this issue is resolved, we will report any more specific issues. 如果重试后未解决此问题,请与 Azure 数据工厂支持团队联系。If this issue is not resolved after a retry, contact the Azure Data Factory support team.

虚拟网络配置Virtual network configuration

将 SSIS IR 加入 Azure 虚拟网络时,SSIS IR 使用用户订阅下的虚拟网络。When you join SSIS IR to Azure Virtual Network, SSIS IR uses the virtual network that's under the user subscription. 有关详细信息,请参阅将 Azure-SSIS Integration Runtime 加入虚拟网络For more information, see Join an Azure-SSIS Integration Runtime to a virtual network.

出现与虚拟网络相关的问题时,将显示以下错误之一。When there's a Virtual Network-related issue, you'll see one of the following errors.

InvalidVnetConfigurationInvalidVnetConfiguration

出现此错误有多种原因。This error can occur for a variety of reasons. 若要进行故障排除,请参阅ForbiddenInvalidPropertyValueMisconfiguredDnsServerOrNsgSettings 部分。To troubleshoot it, see the Forbidden, InvalidPropertyValue, and MisconfiguredDnsServerOrNsgSettings sections.

禁止Forbidden

这种错误可能与以下情况类似:“当前帐户不支持 SubnetId。This kind of error might resemble this: “SubnetId is not enabled for current account. Microsoft.Batch 资源提供程序未在 VNet 的同一订阅下注册。”Microsoft.Batch resource provider is not registered under the same subscription of VNet.”

这些详细信息表示 Azure Batch 无法访问虚拟网络。These details mean that Azure Batch can't access your virtual network. 在与虚拟网络相同的订阅下注册 Microsoft.Batch 资源提供程序。Register the Microsoft.Batch resource provider under the same subscription as Virtual Network.

InvalidPropertyValueInvalidPropertyValue

这种错误可能类似于下面的一种情况:This kind of error might resemble one of the following:

  • “指定的 VNet 不存在,或 Batch 服务无权访问它。”“Either the specified VNet does not exist, or the Batch service does not have access to it.”
  • “指定的子网 xxx 不存在。”“The specified subnet xxx does not exist.”

这些错误表示虚拟网络不存在,Azure Batch 服务无法访问它,或者提供的子网不存在。These errors mean the virtual network doesn't exist, the Azure Batch service can't access it, or the subnet provided doesn't exist. 请确保该虚拟网络和子网存在,并且 Azure Batch 可访问它们。Make sure the virtual network and subnet exist and that Azure Batch can access them.

MisconfiguredDnsServerOrNsgSettingsMisconfiguredDnsServerOrNsgSettings

这种错误消息可能与以下情况类似:“未能在 VNet 中预配 Integration Runtime。This kind of error message can look like this: “Failed to provision Integration Runtime in VNet. 如果配置了 DNS 服务器或 NSG 设置,请确保 DNS 服务器可访问,并且 NSG 配置正确。”If the DNS server or NSG settings are configured, make sure the DNS server is accessible and NSG is configured properly.”

在这种情况下,你可能有一个自定义的 DNS 服务器或 NSG 设置配置,这将阻止解析或访问 SSIS IR 所需的 Azure 服务器名称。In this situation, you probably have a customized configuration of DNS server or NSG settings, which prevents the Azure server name required by SSIS IR from being resolved or accessed. 有关详细信息,请参阅 SSIS IR 虚拟网络配置For more information, see SSIS IR Virtual Network configuration. 如果仍有问题,请联系 Azure 数据工厂支持团队。If you’re still having problems, contact the Azure Data Factory support team.

VNetResourceGroupLockedDuringUpgradeVNetResourceGroupLockedDuringUpgrade

SSIS IR 将定期自动更新。SSIS IR will be automatically updated on a regular basis. 升级期间将创建一个新的 Azure Batch 池,并删除旧的 Azure Batch 池。A new Azure Batch pool is created during upgrade and the old Azure Batch pool is deleted. 此外,还将删除旧池的虚拟网络相关资源,并在订阅下创建新的虚拟网络相关资源。Also, Virtual Network-related resources for the old pool are deleted, and the new Virtual Network-related resources are created under your subscription. 此错误表示由于在订阅或资源组级别存在一个删除锁定,因此删除旧池的虚拟网络相关资源失败。This error means that deleting Virtual Network-related resources for the old pool failed because of a delete lock at the subscription or resource group level. 由于该删除锁定由客户控制和设置,因此在这种情况下,他们必须删除该删除锁定。Because the customer controls and sets the delete lock, they must remove the delete lock in this situation.

VNetResourceGroupLockedDuringStartVNetResourceGroupLockedDuringStart

如果 SSIS IR 预配失败,则会删除创建的所有资源。If SSIS IR provisioning fails, all the resources that were created are deleted. 但是,如果订阅或资源组级别存在资源删除锁定,则不会按预期删除虚拟网络资源。However, if there's a resource delete lock at the subscription or resource group level, Virtual Network resources are not deleted as expected. 若要修复此错误,请删除删除锁定并重启 IR。To fix this error, remove the delete lock and restart the IR.

VNetResourceGroupLockedDuringStopVNetResourceGroupLockedDuringStop

停止 SSIS IR 时,删除所有与虚拟网络相关的资源。When you stop SSIS IR, all the resources related to Virtual Network are deleted. 但如果在订阅或资源组级别存在资源删除锁定,删除可能会失败。But deletion can fail if there's a resource delete lock at the subscription or resource group level. 此处,该删除锁定也由客户控制和设置。Here, too, the customer controls and sets the delete lock. 因此,他们必须删除该删除锁定,然后再次停止 SSIS IR。Therefore, they must remove the delete lock and then stop SSIS IR again.

NodeUnavailableNodeUnavailable

此错误发生在 IR 运行时,这意味着 IR 已变得不正常。This error occurs when IR is running, and it means that IR has become unhealthy. 此错误始终是由 DNS 服务器或 NSG 配置中的更改引起的,该更改阻止 SSIS IR 连接到必要服务。This error is always caused by a change in the DNS server or NSG configuration that blocks SSIS IR from connecting to a necessary service. 由于 DNS 服务器和 NSG 的配置由客户控制,因此客户必须自行修复阻止问题。Because configuration of DNS server and NSG is controlled by the customer, the customer must fix the blocking issues on their end. 有关详细信息,请参阅 SSIS IR 虚拟网络配置For more information, see SSIS IR Virtual Network configuration. 如果仍有问题,请联系 Azure 数据工厂支持团队。If you’re still having problems, contact the Azure Data Factory support team.