分享方式:


啟動作業

適用於:SQL Server Azure SQL 受控執行個體

重要

Azure SQL 受控執行個體目前支援多數 (但非全部) 的 SQL Server Agent 功能。 如需詳細資料,請參閱 Azure SQL 受控執行個體與 SQL Server 之間的 T-SQL 差異

本文章描述如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理物件,開始執行 SQL Server 中的 Microsoft SQL Server Agent 作業。

作業是 SQL Server Agent 執行的一系列指定動作。 SQL Server Agent 作業可以在一部本機伺服器或多部遠端伺服器上執行。

開始之前

安全性

如需詳細資訊,請參閱< 實作 SQL Server Agent 安全性>。

使用 SQL Server Management Studio

  1. 物件總管中,連接到 SQL Server Database Engine 的執行個體,然後展開該執行個體。

  2. 展開 [SQL Server Agent] ,再展開 [作業]。 請依照您所需要的作業啟動方式,執行下列其中一項作:

    • 若要對單一伺服器或目標伺服器執行作業,或要在主要伺服器上執行本機伺服器作業,請在要啟動的作業上按一下滑鼠右鍵,然後按一下 [啟動作業]

    • 若要啟動多項作業,請在 [作業活動監視器],然後按一下 [檢視作業活動]。 您可以在作業活動監視器中選取多項作業,然後在選取範圍上按一下滑鼠右鍵,再按一下 [啟動作業]

    • 若要對主要伺服器執行作業,並希望所有目標伺服器同時執行該作業,請在要啟動的作業上按一下滑鼠右鍵,然後按一下 [啟動作業],再按一下 [在所有目標伺服器上啟動]

    • 若要對主要伺服器執行作業,並要指定執行該作業的目標伺服器,請在要啟動的作業上按一下滑鼠右鍵,然後選取 [啟動作業],再選取 [在特定目標伺服器上啟動]。 在 [公佈下載指示] 對話方塊中選取 [下列目標伺服器] 核取方塊,然後選取應該執行此作業的每個目標伺服器。

使用 Transact-SQL

  1. 在物件總管中,連線到資料庫引擎的執行個體。

  2. 在標準列上,選取 [新增查詢] 。

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

    -- starts a job named Weekly Sales Data Backup.
    USE msdb ;
    GO
    
    EXEC dbo.sp_start_job N'Weekly Sales Data Backup' ;
    GO
    

如需詳細資訊,請參閱 sp_start_job (Transact-SQL)

使用程式語言

使用選取的程式語言 (例如 Visual Basic、Visual C# 或 SQL PowerShell) 呼叫 Job 類別的 Start 方法。

SQL PowerShell

以下是可在 SQL Server Agent 中搭配參數使用的 PowerShell 腳本。 此腳本示範如何使用傳遞至腳本的參數來啟動 SQL Server Agent 作業。

# Parameters
param(
    [string]$ServerInstance,
    [string]$JobName
)

# Load the SMO assembly
Add-Type -AssemblyName "Microsoft.SqlServer.SMO"

# Create a server object
$server = New-Object Microsoft.SqlServer.Management.Smo.Server $ServerInstance

# Get the job you want to start
$job = $server.JobServer.Jobs[$JobName]

# Start the job
if ($job) {
    $job.Start()
    Write-Output "The job '$JobName' on server '$ServerInstance' has been started successfully."
} else {
    Write-Output "The job '$JobName' was not found on server '$ServerInstance'."
}

如何在 SQL Server Agent 中使用腳本。

  1. 開啟 SQL Server Management Studio (SSMS)。

  2. 連線至 SQL Server 執行個體。

  3. 展開 [SQL Server Agent]。

  4. 以滑鼠右鍵按一下 [作業],然後選取 [新增作業]。

  5. 在 [新增作業] 對話框中,輸入作業名稱和其他必要詳細資料。

  6. 移至 [步驟] 頁面,然後選取 [新增] 以建立新的作業步驟。

  7. 在 [新增作業步驟] 對話框中:

    1. 將 [類型] 設定為 PowerShell。

    2. 在 [命令] 欄位中,輸入 PowerShell 指令碼以及參數,例如:

      .\YourScript.ps1 -ServerInstance "YourServerInstance" -JobName "YourJobName"
      
  8. 視需要設定任何其他作業屬性 (排程、警示、通知等)。

  9. 選取 [確定] 儲存程式碼。

指令碼的說明

  • 參數:指令碼接受兩個參數,$ServerInstance和$JobName,分別是 SQL Server 執行個體和作業名稱。
  • 載入 SMO:Add-Type Cmdlet 是用來載入 SQL Server 管理物件 (SMO) 元件。
  • 伺服器物件:使用 $ServerInstance 參數建立新的伺服器物件。
  • 取得作業:腳本會使用 $JobName 參數擷取指定的作業。
  • 啟動作業:如果找到作業,則會使用 Start 方法啟動作業。 腳本會輸出成功訊息。 如果找不到作業,則會顯示錯誤訊息。

如需詳細資訊,請參閱 SQL Server 管理物件 (SMO)