本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SSISDB 上的管理許可
使用 SSIS 選項建立或修改執行個體時,結果會是 SSISDB 資料庫,其中包含 ssis_admin 和 ssis_logreader 角色授予主要使用者。主要使用者在 SSISDB 中具有下列權限:
-
alter on ssis_admin role
-
alter on ssis_logreader role
-
變更任何使用者
因為主要使用者是 SQL 驗證的使用者,所以您無法使用主要使用者來執行 SSIS 套件。主要使用者可以使用這些權限來建立新的 SSISDB 使用者,並將它們新增至 ssis_admin 和 ssis_logreader 角色。這樣做對於授予網域使用者使用 SSIS 的存取權非常有用。
為 SSIS 設定 Windows 驗證的使用者
主要使用者可以使用下列程式碼範例,在 SSISDB 中設定 Windows 驗證的登入,並授予必要的程序許可。這樣做會授予網域使用者部署和執行 SSIS 套件、使用 S3 檔案傳輸程序、建立登入資料,以及搭配 SQL Server Agent 代理使用的許可。如需詳細資訊,請參閱登入資料 (資料庫引擎)
注意
您可以視需要授予部分或全部下列許可給 Windows 驗證的使用者。
-- Create a server-level SQL login for the domain user, if it doesn't already exist USE [master] GO CREATE LOGIN [mydomain\user_name] FROM WINDOWS GO -- Create a database-level account for the domain user, if it doesn't already exist USE [SSISDB] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] -- Add SSIS role membership to the domain user ALTER ROLE [ssis_admin] ADD MEMBER [mydomain\user_name] ALTER ROLE [ssis_logreader] ADD MEMBER [mydomain\user_name] GO -- Add MSDB role membership to the domain user USE [msdb] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] -- Grant MSDB stored procedure privileges to the domain user GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] WITH GRANT OPTION -- Add the SQLAgentUserRole privilege to the domain user USE [msdb] GO ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name] GO -- Grant the ALTER ANY CREDENTIAL privilege to the domain user USE [master] GO GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name] GO