SSIS 目录

**“SSISDB”**目录是使用已部署到 Integration Services 服务器的 Integration Services (SSIS) 项目的中心点。 例如,您可以设置项目和包参数,配置环境以便为包指定运行时值,执行包并对包进行故障排除,以及管理 Integration Services 服务器操作。

SSISDB 目录中存储的对象包括项目、包、参数、环境和操作历史记录。

可通过查询**“SSISDB”数据库中的视图来检查“SSISDB”**目录中存储的对象、设置和操作数据。 可通过调用 SSISDB 数据库中的存储过程或通过使用 SSISDB 目录的 UI 来管理对象。 在很多情况下,同一个任务既可使用 UI 执行,也可以通过调用存储过程来执行。

要维护 SSISDB 数据库,建议您应用管理用户数据库的标准企业策略。 有关创建维护计划的信息,请参阅维护计划

SSISDB 目录和 SSISDB 数据库支持 Windows PowerShell。 有关将 SQL Server 与 Windows PowerShell 一起使用的详细信息,请参阅 SQL Server PowerShell。 有关如何使用 Windows PowerShell 完成任务(如部署项目)的示例,请参阅 blogs.msdn.com 上的博客文章 SQL Server 2012 中的 SSIS 和 PowerShell

有关如何查看操作数据的详细信息,请参阅监视包执行和其他操作

您可以通过以下方式访问 SQL Server Management Studio 中的**“SSISDB”目录:连接到 SQL Server 数据库引擎,然后展开对象资源管理器中的“Integration Services 目录”**节点。 可通过展开对象资源管理器中的“数据库”节点来访问 SQL Server Management Studio 中的 SSISDB 数据库。

注意注意

不能重命名 SSISDB 数据库。

注意注意

如果 SSISDB 数据库附加到的 SQL Server 实例停止或不响应,则 ISServerExec.exe 进程结束。 向 Windows 事件日志写入一条消息。

如果 SQL Server 资源作为群集故障转移的一部分进行故障转移,则正在运行的包不重新启动。 您可以使用检查点来重新启动包。 有关详细信息,请参阅通过使用检查点重新启动包

目录对象标识符

在目录中创建新对象时,为该对象指定一个名称。 对象名称就是一个标识符。 SQL Server 定义了有关可在标识符中使用的字符的规则。 以下对象的名称必须遵循标识符规则。

  • 文件夹

  • 项目

  • 环境

  • 参数

  • 环境变量

文件夹、项目和环境

重命名文件夹、项目或环境时,请考虑以下规则。

  • 无效字符包括 ASCII/Unicode 字符 1 到 31、引号 (")、小于号 (<)、大于号 (>)、竖线 (|)、退格符 (\b)、null (\0) 和制表符 (\t)。

  • 名称不得包含前导空格或尾随空格。

  • 不允许将 @ 作为第一个字符,但后续字符可使用 @。

  • 名称的长度必须大于 0 且小于或等于 128。

参数

命名参数时,请考虑以下规则。

  • 名称的第一个字符必须是在 Unicode 标准 2.0 中定义的字母,或者是下划线 (_)。

  • 后续字符可以是在 Unicode 标准 2.0 中定义的字母或数字,或是下划线 (_)。

环境变量

命名环境变量时,请考虑以下规则。

  • 无效字符包括 ASCII/Unicode 字符 1 到 31、引号 (")、小于号 (<)、大于号 (>)、竖线 (|)、退格符 (\b)、null (\0) 和制表符 (\t)。

  • 名称不得包含前导空格或尾随空格。

  • 不允许将 @ 作为第一个字符,但后续字符可使用 @。

  • 名称的长度必须大于 0 且小于或等于 128。

  • 名称的第一个字符必须是在 Unicode 标准 2.0 中定义的字母,或者是下划线 (_)。

  • 后续字符可以是在 Unicode 标准 2.0 中定义的字母或数字,或是下划线 (_)。

目录配置

通过调整目录属性来优化目录的行为方式。 目录属性定义如何对敏感数据进行加密,以及如何保留操作和项目版本控制数据。 若要设置目录属性,请使用**“目录属性”**对话框,或调用 catalog.configure_catalog(SSISDB 数据库) 存储过程。 若要查看这些属性,请使用该对话框或查询 catalog.catalog_properties(SSISDB 数据库)。 可以通过右键单击对象资源管理器中的 SSISDB 来访问该对话框。

操作和项目版本清理

目录中很多操作的状态数据都存储在内部数据库表中。 例如,目录会跟踪包执行和项目部署的状态。 为了维持操作数据的大小,使用 SQL Server Management Studio 中的**“SSIS Server 维护作业”**来删除旧数据。 在安装 Integration Services 时创建此 SQL Server 代理作业。

您可以使用相同名称将 Integration Services 项目部署到目录中的同一文件夹,以对其进行更新或重新部署。 默认情况下,每次重新部署某个项目时,SSISDB 目录都会保留早期版本的该项目。 为了维持操作数据的大小,使用了**“SSIS 服务器维护作业”**来删除旧版本的项目。

以下 SSISDB 目录属性将定义此 SQL Server 代理作业的行为方式。 您可以通过使用**“目录属性”**对话框或通过使用 catalog.catalog_properties(SSISDB 数据库)catalog.configure_catalog(SSISDB 数据库)查看和修改属性。

  • 定期清理日志
    当此属性设置为 True 时,操作清除作业步骤将会运行。

  • 保持期(天)
    定义可允许的操作数据的最长保存时间(以天为单位)。 将删除较旧的数据。

    最小值为一天。 最大值仅受到 SQL Server int 数据的最大值的限制。 有关此数据类型的信息,请参阅 int、bigint、smallint 和 tinyint (Transact-SQL)

  • 定期删除旧版本
    当此属性设置为 True 时,项目版本清除作业步骤将会运行。

  • 每个项目的最大版本数
    定义在目录中将存储项目的多少个版本。 将删除较旧版本的项目。

加密算法

**“加密算法”**属性可指定用于对敏感参数值进行加密的加密类型。 可以从下列加密类型中选择。

  • AES_256(默认值)

  • AES_192

  • AES_128

  • DESX

  • TRIPLE_DES_3KEY

  • TRIPLE_DES

  • DES

在向 Integration Services 服务器部署 Integration Services 项目时,该目录会自动对包数据和敏感值加密。 该目录还会在检索数据时自动解密数据。 SSISDB 目录使用 ServerStorage 保护级别。 有关详细信息,请参阅对包中敏感数据的访问控制

更改加密算法是一项很耗时的操作。 首先,服务器必须使用以前指定的算法来解密所有配置值。 然后,服务器必须使用新算法来重新对这些值进行加密。 此时,在服务器上不能有其他 Integration Services 操作。 因此,为使 Integration Services 操作继续运行而不会中断,加密算法在 Management Studio 的对话框中是只读值。

若要更改**“加密算法”属性设置,请将“SSISDB”**数据库设置为单用户模式,然后调用 catalog.configure_catalog 存储过程。 将 ENCRYPTION_ALGORITHM 用于 property_name 参数。 有关受支持的属性值,请参阅 catalog.catalog_properties(SSISDB 数据库)。 有关该存储过程的详细信息,请参阅 catalog.configure_catalog(SSISDB 数据库)

有关单用户模式的详细信息,请参阅将数据库设置为单用户模式。 有关 SQL Server 中加密和加密算法的信息,请参阅 SQL Server 加密一节中的有关主题。

数据库主密钥用于加密。 创建目录时会创建此密钥。 有关详细信息,请参阅创建 SSIS 目录

下表列出了**“目录属性”**对话框中显示的属性名称和数据库视图中对应的属性。

属性名称(“目录属性”对话框)

属性名称(数据库视图)

加密算法名称

ENCRYPTION_ALGORITHM

定期清理日志

OPERATION_CLEANUP_ENABLED

保持期(天)

RETENTION_WINDOW

定期删除旧版本

VERSION_CLEANUP_ENABLED

每个项目的最大版本数

MAX_PROJECT_VERSIONS

服务器范围的默认日志记录级别

SERVER_LOGGING_LEVEL

权限

文件夹中包含的项目、环境和包是安全对象。 您可以授予对文件夹的权限,包括 MANAGE_OBJECT_PERMISSIONS 权限。 利用 MANAGE_OBJECT_PERMISSIONS,您可以将文件夹内容的管理委托给用户,而无需为 ssis_admin 角色授予用户成员身份。 您还可以授予对项目、环境和操作的权限。 操作包括初始化 Integration Services、部署项目、创建和启动执行、验证项目和包以及配置 SSISDB 目录。

有关数据库角色的详细信息,请参阅数据库级别的角色

SSISDB 目录使用 DDL 触发器 (ddl_cleanup_object_permissions) 强制 SSIS 安全对象的权限信息的完整性。 当从 SSISDB 数据库中删除数据库主体(如数据库用户、数据库角色或数据库应用程序角色)时,将会触发触发器。

如果该主体已对其他主体授予或拒绝权限,则应先撤消授权者授予的权限,然后才能删除主体。 否则,系统尝试删除主体时会返回一条错误消息。 触发器将删除数据库主体作为被授权者的所有权限记录。

建议不要禁用触发器,因为它可确保在从 SSISDB 数据库中删除数据库主体之后,不会出现孤立的权限记录。

管理权限

您可以通过使用 SQL Server Management Studio 用户界面、存储过程以及 Microsoft.SqlServer.Management.IntegrationServicesnamespace 命名空间来管理权限。

若要使用 SQL Server Management Studio 用户界面管理权限,请使用下面的对话框。

若要使用 Transact-SQL 管理权限,请调用 catalog.grant_permission(SSISDB 数据库)catalog.deny_permission(SSISDB 数据库)catalog.revoke_permission(SSISDB 数据库)。 若要查看所有对象的当前主体的有效权限,请查询 catalog.effective_object_permissions(SSISDB 数据库)。 本主题描述了不同类型的权限。 若要查看已显式分配给用户的权限,请查询 catalog.explicit_object_permissions(SSISDB 数据库)

文件夹

文件夹包含 SSISDB 目录中的一个或多个项目和环境。 您可以使用 catalog.folders(SSISDB 数据库) 视图来访问有关目录中的文件夹的信息。 您可以使用以下存储过程管理文件夹。

项目和包

每个项目可以包含多个包。 项目和包都可以包含参数和对环境的引用。 您可以使用配置对话框访问参数和环境引用。

您可以通过调用以下存储过程执行其他项目任务。

以下视图提供了有关包、项目和项目版本的详细信息。

参数

您可以使用参数在包执行时为包属性赋值。 若要设置包或项目参数的值和清除这些值,请调用 catalog.set_object_parameter_value(SSISDB 数据库)catalog.clear_object_parameter_value(SSISDB 数据库)。 若要为执行实例设置参数的值,请调用 catalog.set_execution_parameter_value(SSISDB 数据库)。 您可以通过调用 catalog.get_parameter_values(SSISDB 数据库) 来检索默认参数值。

以下视图显示了所有包和项目的参数,以及用于执行实例的参数值。

服务器环境、服务器变量和服务器环境引用

服务器环境包含服务器变量。 当在 Integration Services 服务器上执行或验证包时,可以使用这些变量值。

利用以下存储过程,您可以为环境和变量执行很多其他管理任务。

通过调用 catalog.set_environment_variable_protection(SSISDB 数据库)存储过程,您可以设置变量的敏感性位。

若要使用服务器变量的值,请指定项目和服务器环境之间的引用。 您可以使用以下存储过程创建和删除引用。 还可以指示环境是可以位于与项目相同的文件夹中,还是位于其他文件夹中。

有关环境和变量的详细信息,请查询以下视图。

执行和验证

执行就是一个包执行实例。 调用 catalog.create_execution(SSISDB 数据库)catalog.start_execution(SSISDB 数据库)可创建并启动执行。 若要停止执行或停止包/项目验证,请调用 catalog.stop_operation(SSISDB 数据库)

若要暂停正在运行的包和创建转储文件,请调用 catalog.create_execution_dump 存储过程。 转储文件提供了有关包执行的信息,可帮助您解决执行问题。 有关生成和配置转储文件的详细信息,请参阅生成包执行的转储文件

有关执行、验证、操作期间记录的消息以及与错误有关的上下文信息的详细信息,请查询以下视图。

您可以通过调用 catalog.validate_project(SSISDB 数据库)catalog.validate_package(SSISDB 数据库)存储过程验证项目和包。 catalog.validations(SSISDB 数据库)视图提供了有关验证的详细信息,例如,验证中要考虑的服务器环境引用、验证是依赖项验证还是完整验证以及使用 32 位运行时还是 64 位运行时来运行包。

相关任务

相关内容

Integration Services 图标(小) 使 Integration Services 保持最新

若要从 Microsoft 获得最新的下载内容、文章、示例和视频,以及从社区获得所选解决方案,请访问 MSDN 上的 Integration Services 页:


若要获得有关这些更新的自动通知,请订阅该页上提供的 RSS 源。