Integration Services 角色(SSIS 服务)

SQL Server Integration Services 包括三个固定数据库级角色、db_ssisadmindb_ssisltduserdb_ssisoperator,用于控制对包的访问。 只能在保存到 msdb SQL Server 中的数据库的包上实现角色。 可以使用 SQL Server Management Studio将角色分配给包。 角色分配将保存到 msdb 数据库。

读取和写入操作

下表介绍了 Integration Services中 Windows 和固定数据库级角色的读写操作。

角色 读操作 写操作
db_ssisadmin



sysadmin
枚举自己的包。

枚举所有包。

查看自己的包。

查看所有包。

执行自己的包。

执行所有包。

导出自己的包。

导出所有包。

在 SQL Server 代理中执行所有包。
导入包。

删除自己的包。

删除所有包。

更改自己的包角色。

更改所有包角色。



**重要** db_ssisadmin角色和dc_admin角色的成员可以将其特权提升到 sysadmin。 因为这些角色可以修改 Integration Services 包,而 Integration Services 使用 SQL Server 代理的 sysadmin 安全上下文可以执行 SQL Server 包,所以可以实现特权提升。 若要在运行维护计划、数据收集组和其他 Integration Services 包时防止此权限提升,请将运行包的 SQL Server 代理作业配置为使用具有有限权限的代理帐户,或只将 sysadmin 成员添加到 db_ssisadmin 和 dc_admin 角色。
db_ssisltduser 枚举自己的包。

枚举所有包。

查看自己的包。

执行自己的包。

导出自己的包。
导入包。

删除自己的包。

更改自己的包角色。
db_ssisoperator 枚举所有包。

查看所有包。

执行所有包。

导出所有包。

在 SQL Server 代理中执行所有包。
Windows 管理员 查看所有正在运行的包的详细执行信息。 停止所有当前正在运行的包。

Sysssispackages 表

中的 msdbsysssispackages 表包含保存到SQL Server的包。 有关详细信息,请参阅 sysssispackages (Transact-SQL)

sysssispackages 表的列中包含关于分配给包的角色的信息。

  • readerrole 列指定对包具有读访问权限的角色。

  • writerrole 列指定对包具有写访问权限的角色。

  • ownersid 列包含创建包的用户的唯一安全标识符。 此列定义包的所有者。

权限

默认情况下,和 db_ssisoperator固定数据库级角色的权限db_ssisadmin以及创建包的用户的唯一安全标识符适用于包的读取者角色,并且角色的权限db_ssisadmin和创建包的用户的唯一安全标识符适用于编写者角色。 用户必须是 、 db_ssisltduserdb_ssisoperator 角色的成员db_ssisadmin才能对包具有读取访问权限。 用户必须是角色的成员 db_ssisadmin 才能具有写入访问权限。

对包的访问

固定数据库级角色可以与用户定义的角色结合使用。 用户定义的角色就是你在 SQL Server Management Studio 中创建的、随后用来为包分配权限的角色。 若要访问包,用户必须是用户定义的角色和相关的 Integration Services 固定数据库级角色的成员。 例如,如果用户是分配给包的 AuditUsers 用户定义角色的成员,则他们还必须是 、db_ssisltduserdb_ssisoperator 角色的成员db_ssisadmin,才能对包具有读取访问权限。

如果不为包分配用户定义角色,则对包的访问权限由固定数据库级角色确定。

如果要使用用户定义的角色,必须先将其添加到数据库, msdb 然后才能将其分配到包。 您可以在 SQL Server Management Studio中创建新的数据库角色。

Integration Services 数据库级角色可授予 msdb 数据库中的 Integration Services 系统表的权限。

SQL Server (必须先启动 MSSQLSERVER 服务) ,然后才能连接到数据库引擎并访问msdb数据库。

为了向包分配角色,您需要完成以下任务。

  • 打开对象资源管理器并连接到 Integration Services

    在使用 SQL Server Management Studio将角色分配给包之前,必须在 SQL Server Management Studio 中打开对象资源管理器,并连接到 Integration Services。

    必须启动 Integration Services 服务才能连接到 Integration Services。

  • 将读取者角色和写入者角色分配给包

    可以将读取者角色和写入者角色分配给每个包。