共用方式為


建立作業

此主題描述如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理物件 (SMO),在 SQL Server 2012 中建立 SQL Server Agent 作業。

若要加入作業步驟、排程、警示以及可傳送給操作員的通知,請參閱<請參閱>一節中的主題連結。

  • 開始之前:

    限制事項

    安全性

  • 若要使用下列項目建立作業:

    SQL Server Management Studio、

    Transact-SQL

    SQL Server 管理物件

開始之前

限制事項

  • 若要建立作業,使用者必須是 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 作業

  1. [物件總管] 中,按一下加號展開要建立 SQL Server Agent 操作員作業的伺服器。

  2. 按一下加號展開 [SQL Server Agent]

  3. 以滑鼠右鍵按一下 [作業] 資料夾,然後選取 [新增作業]

  4. [新增作業] 對話方塊的 [一般] 頁面中,修改作業的一般屬性。 如需有關此頁面可用之選項的詳細資訊,請參閱<作業屬性 / 新增作業 (一般頁面)>。

  5. [步驟] 頁面上,組織作業步驟。 如需有關此頁面可用之選項的詳細資訊,請參閱<作業屬性 / 新增作業 (步驟頁面)>。

  6. [排程] 頁面上,組織作業的排程。 如需有關此頁面可用之選項的詳細資訊,請參閱<作業屬性 / 新增作業 (排程頁面)>。

  7. [警示] 頁面上,組織作業的警示。 如需有關此頁面可用之選項的詳細資訊,請參閱<作業屬性 / 新增作業 (警示頁面)>。

  8. [通知] 頁面上,設定當作業完成時,Microsoft SQL Server Agent 要執行的動作。 如需有關此頁面可用之選項的詳細資訊,請參閱<作業屬性 / 新增作業 (通知頁面)>。

  9. [目標] 頁面上,管理作業的目標伺服器。 如需有關此頁面可用之選項的詳細資訊,請參閱<作業屬性 / 新增作業 (目標頁面)>。

  10. 完成後,請按一下 [確定]

[回到頁首]

使用 Transact-SQL

若要建立 SQL Server Agent 作業

  1. [物件總管] 中,連接到 Database Engine 的執行個體。

  2. 在標準列上,按一下 [新增查詢]

  3. 將下列範例複製並貼到查詢視窗中,然後按一下 [執行]

    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 Management Objects (SMO)>。 如需範例程式碼,請參閱<使用 SQL Server Agent 排程自動管理工作>。

[回到頁首]