將工作的所有權賦予他人
重要
在 Azure SQL 受控實例上,目前支援大部分但並非所有 SQL Server Agent 功能。 如需詳細資訊,請參閱 與 SQL Server 的 Azure SQL 受控實例 T-SQL 差異。
本主題描述如何將Microsoft SQL Server Agent 作業的擁有權重新指派給其他使用者。
將作業的擁有權給予他人,使用:
開始之前
限制與限制
若要建立作業,用戶必須是其中一個 SQL Server Agent 固定資料庫角色的成員,或是 系統管理員 固定伺服器角色的成員。 作業只能由其擁有者或 系統管理員 角色的成員編輯。 如需 SQL Server Agent 固定資料庫角色的詳細資訊,請參閱 SQL Server Agent 固定資料庫角色。
您必須是系統管理員,才能變更作業的擁有者。
將作業指派給另一個登入並不保證新擁有者有足夠的許可權可順利執行作業。
安全
基於安全性考慮,只有作業擁有者或 系統管理員 角色的成員可以變更作業的定義。 只有 系統管理員 固定伺服器角色的成員可以將作業擁有權指派給其他使用者,而且無論作業擁有者為何,都可以執行任何作業。
注意
如果您將作業擁有權變更為非 系統管理員成員的使用者 固定伺服器角色,且作業正在執行需要 Proxy 帳戶的作業步驟(例如 SSIS 套件執行),請確定用戶能夠存取該 Proxy 帳戶,否則作業將會失敗。
權限
如需詳細資訊,請參閱 實施 SQL Server Agent 安全性。
使用 SQL Server Management Studio
為其他人提供工作擁有權
在 [物件總管] , 連接到 SQL Server Database Engine 的實例,然後展開該實例。
展開 [SQL Server Agent]、展開 [作業],以滑鼠右鍵按一下作業,然後按一下 [屬性 ]。
在 擁有者 清單中,選取一個登入帳號。 您必須是系統管理員,才能變更作業的擁有者。
將作業指派給另一個登入並不保證新擁有者有足夠的許可權可順利執行作業。
使用 Transact-SQL
為其他人提供工作擁有權
在 [物件總管] 中,連接到資料庫引擎的範例,然後展開該範例。
在工具列上,按一下 [新增查詢]。
在查詢視窗中,輸入下列使用 sp_manage_jobs_by_login (Transact-SQL) 系統預存程式的語句。 下列範例會將所有作業從
danw
重新指派至françoisa
。USE msdb ; GO EXEC dbo.sp_manage_jobs_by_login @action = N'REASSIGN', @current_owner_login_name = N'danw', @new_owner_login_name = N'françoisa' ; GO
使用 SQL Server 管理物件
為其他人提供工作擁有權
- 使用您選擇的程式設計語言,例如 Visual Basic、Visual C# 或 PowerShell,呼叫 Job 類別。 如需範例程式代碼,請參閱 在 SQL Server Agent中排程自動管理工作。