Database Engine 指令碼

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

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

SQL Server PowerShell

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

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

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

SQL Server 提供了用來執行 PowerShell 的以下功能:

  • 可以匯入到 PowerShell 工作階段的 sqlps PowerShell 模組,然後此模組會載入 SQL Server 嵌入式管理單元。您可以用互動方式執行隨選 PowerShell 命令。 您可以使用 .\MyFolder\MyScript.ps1 等命令來執行指令碼檔案。

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

  • 啟動 PowerShell 並匯入 SQL Server 模組的 sqlps 公用程式。 然後您可以執行此模組支援的所有動作。 您可以透過命令提示字元,或在 SQL Server Management Studio 的物件總管樹狀目錄中以滑鼠右鍵按一下節點並選取 [啟動 PowerShell],啟動 sqlps 公用程式。

Database Engine 查詢

資料庫引擎查詢指令碼包含三種元素:

  • Transact-SQL 語言陳述式。

  • XQuery 語言陳述式。

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

SQL Server 提供三個環境來建置和執行資料庫引擎查詢:

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

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

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

  • 使用 SQL Server Management Studio [檔案]/[開啟] 功能表,以在新的資料庫引擎查詢編輯器視窗中開啟檔案。

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

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

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

此外,您可以使用 SQL Server [產生指令碼精靈] 來產生 Transact-SQL 指令碼。 您可以在 SQL Server Management Studio 的物件總管中,以滑鼠右鍵按一下物件,然後選取 [產生指令碼] 功能表項目。 [產生指令碼] 就會啟動此精靈,並逐步引導您完成建立指令碼的程序。

Database Engine 指令碼工作

工作描述 主題
描述如何使用 Management Studio 中的程式碼和文字編輯器,以互動方式開發、偵錯和執行 Transact-SQL 指令碼 查詢與文字編輯器 (SQL Server Management Studio)
描述如何使用 sqlcmd 公用程式,從命令提示字元執行 Transact-SQL 指令碼,包含以互動方式開發指令碼的能力。 sqlcmd 使用說明主題
描述如何將 SQL Server 元件整合至 Windows PowerShell 環境,然後建立 PowerShell 指令碼以管理 SQL Server 執行個體和物件。 SQL Server PowerShell
描述如何使用 [產生和發佈指令碼精靈],建立 Transact-SQL 指令碼以重新建立資料庫中的一個或多個物件。 產生指令碼 (SQL Server Management Studio)

另請參閱

sqlcmd 公用程式
教學課程:撰寫 Transact-SQL 陳述式