指令碼 (Database Engine)

SQL Server Database Engine 支援使用 Microsoft PowerShell 指令碼環境來管理 Database Engine 執行個體和執行個體中的物件。此外,您也可以在與指令碼環境非常相似的環境中,建立並執行含有 Transact-SQL 和 XQuery 的 Database Engine 查詢。

SQL Server PowerShell

SQL Server 包含兩個 SQL Server PowerShell 嵌入式管理單元,可實作:

  • SQL Server PowerShell 提供者,以便將 SQL Server 管理物件模型階層公開成與檔案系統路徑相似的 PowerShell 路徑。您可以使用 SQL Server 管理物件模型類別來管理以路徑之每個節點表示的物件。

  • 一組實作 SQL Server 命令的 SQL Server 指令程式。其中一個指令程式是 Invoke-Sqlcmd。這個指令程式可用來執行要與 sqlcmd 公用程式一起執行的 Database Engine 查詢指令碼。

SQL Server 提供了兩種執行 PowerShell 的功能:

  • 啟動 PowerShell 並載入 SQL Server 嵌入式管理單元的 sqlps 公用程式。您可以用互動方式執行特定 PowerShell 命令。您可以使用 .\MyFolder\MyScript.ps1 等命令來執行指令碼檔案。您可以透過命令提示字元,或在 SQL Server Management Studio 的 [物件總管] 樹狀目錄中以滑鼠右鍵按一下節點並選取 [啟動 PowerShell],啟動 sqlps

  • PowerShell 指令碼檔案可以當做依排程間隔或為了回應系統事件而執行指令碼之 SQL Server Agent PowerShell 作業步驟的輸入使用。

Database Engine 查詢

Database Engine 查詢指令碼包含三種元素:

  • Transact-SQL 語言陳述式。

  • XQuery 語言陳述式。

  • sqlcmd 公用程式的命令和變數。

SQL Server 提供了三種建立和執行 Database Engine 查詢的環境:

  • 在 SQL Server Management Studio 的 Database Engine 查詢編輯器中,您可以用互動方式執行並偵錯 Database Engine 查詢。您可以在單一工作階段中編寫許多陳述式的程式碼並進行偵錯,然後將所有陳述式都儲存在單一指令碼檔案中。

  • sqlcmd 命令提示字元公用程式可讓您以互動方式執行 Database Engine 查詢,而且也可以執行現有的 Database Engine 查詢指令碼檔案。

您通常會使用 Database Engine 查詢編輯器,以互動方式在 SQL Server Management Studio 中編寫 Database Engine 查詢指令碼檔案的程式碼。然後,您就可以在下列其中一個環境內開啟此檔案:

  • 使用 SQL Server Management Studio 的 [檔案]/[開啟] 功能表,在新的 Database Engine 查詢編輯器視窗中開啟此檔案。

  • 使用 -iinput_file 參數搭配 sqlcmd 公用程式來執行此檔案。

  • 使用 -QueryFromFile 參數搭配 SQL Server PowerShell 指令碼中的 Invoke-Sqlcmd 指令程式來執行此檔案。

  • 使用 SQL Server Agent Transact-SQL 作業步驟,依排程間隔或為了回應系統事件而執行指令碼。

此外,您可以使用 SQL Server 產生指令碼精靈來產生 Transact-SQL 指令碼。您可以在 SQL Server Management Studio 的 [物件總管] 中,以滑鼠右鍵按一下物件,然後選取 [產生指令碼] 功能表項目。[產生指令碼] 就會啟動此精靈,並逐步引導您完成建立指令碼的程序。如需詳細資訊,請參閱<記錄和編寫資料庫的指令碼>。