建立作業
適用於:SQL Server
Azure SQL 受控執行個體
重要
Azure SQL 受控執行個體目前支援多數 (但非全部) 的 SQL Server Agent 功能。 如需詳細資料,請參閱 Azure SQL 受控執行個體與 SQL Server 之間的 T-SQL 差異。
本主題描述如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理物件 (SMO),在 SQL Server 中建立 SQL Server Agent 作業。
若要加入作業步驟、排程、警示以及可傳送給操作員的通知,請參閱<請參閱>一節中的主題連結。
開始之前:
若要使用下列項目建立作業:
開始之前
限制事項
若要建立工作,使用者必須是 SQL Server Agent 固定資料庫角色或 sysadmin 固定伺服器角色的成員。 只有作業擁有者或隸屬 sysadmin 角色的成員可以編輯作業。 如需 SQL Server Agent 固定資料庫角色的詳細資訊,請參閱 SQL Server Agent 固定資料庫角色。
將作業指派給另一個登入並不保證新的擁有者具有充分之使用權限能夠成功執行作業。
本機作業會由本機的 SQL Server Agent 快取。 因此,任何修改都會隱含地強制 SQL Server Agent 重新快取作業。 因為 SQL Server Agent 會等到呼叫 sp_add_jobserver 時才快取作業,所以最後再呼叫 sp_add_jobserver 會更有效率。
安全性
您必須是系統管理員,才能夠變更作業的擁有者。
基於安全考量,只有作業擁有者或隸屬 sysadmin 角色的成員可以變更作業的定義。 只有 sysadmin (系統管理員) 固定伺服器角色的成員可以將作業擁有權指定給其他使用者,而且無論作業擁有者是誰,都可以執行任何作業。
注意
如果將工作擁有權變更給非 sysadmin 固定伺服器角色成員的使用者,而且工作正在執行需要 Proxy 帳戶的工作步驟 (例如,SSIS 套件執行),則請確定使用者擁有該 Proxy 帳戶的存取權,否則工作將會失敗。
權限
如需詳細資訊,請參閱< 實作 SQL Server Agent 安全性>。
使用 SQL Server Management Studio
若要建立 SQL Server Agent 作業
在 [物件總管]中,按一下加號展開要建立 SQL Server Agent 作業的伺服器。
選取加號展開 [SQL Server Agent]。
以滑鼠右鍵按一下 [作業] 資料夾,然後選取 [新增作業...]。
在 [新增作業] 對話方塊的 [一般] 頁面中,修改作業的一般屬性。 如需有關此頁面可用選項的詳細資訊,請參閱作業屬性 - 新增作業 (一般頁面)
在 [步驟] 頁面上,組織作業步驟。 如需有關此頁面可用選項的詳細資訊,請參閱作業屬性 - 新增作業 (步驟頁面)
在 [排程] 頁面上,組織作業的排程。 如需有關此頁面可用選項的詳細資訊,請參閱作業屬性 - 新增作業 (排程頁面)
在 [警示] 頁面上,組織作業的警示。 如需有關此頁面可用選項的詳細資訊,請參閱作業屬性 - 新增作業 (警示頁面)
在 [通知] 頁面上設定當作業完成時,Microsoft SQL Server Agent 要執行的動作。 如需有關此頁面可用之選項的詳細資訊,請參閱作業屬性 - 新增作業 (通知頁面)。
在 [目標] 頁面上,管理作業的目標伺服器。 如需有關此頁面可用之選項的詳細資訊,請參閱作業屬性 - 新增作業 (目標頁面)。
完成後,選取 [確定]。
使用 Transact-SQL
若要建立 SQL Server Agent 作業
在物件總管中,連線到資料庫引擎的執行個體。
在標準列上,選取 [新增查詢] 。
複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。
USE msdb ; GO EXEC dbo.sp_add_job @job_name = N'Weekly Sales Data Backup' ; GO EXEC sp_add_jobstep @job_name = N'Weekly Sales Data Backup', @step_name = N'Set database to read only', @subsystem = N'TSQL', @command = N'ALTER DATABASE SALES SET READ_ONLY', @retry_attempts = 5, @retry_interval = 5 ; GO EXEC dbo.sp_add_schedule @schedule_name = N'RunOnce', @freq_type = 1, @active_start_time = 233000 ; USE msdb ; GO EXEC sp_attach_schedule @job_name = N'Weekly Sales Data Backup', @schedule_name = N'RunOnce'; GO EXEC dbo.sp_add_jobserver @job_name = N'Weekly Sales Data Backup'; GO
如需詳細資訊,請參閱
使用 SQL Server 管理物件
若要建立 SQL Server Agent 作業
使用所選的程式語言,例如 Visual Basic、Visual C# 或 PowerShell,呼叫 Job 類別的 Create 方法。 如需範例程式碼,請參閱 使用 SQL Server Agent 排程自動管理工作。