使用 sqlcmd 從指令檔案執行 T-SQL
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
您可以使用 sqlcmd 來執行 Transact-SQL 指令碼檔案。 Transact-SQL 指令碼檔案是一個文字檔,可以包含 Transact-SQL 陳述式、 sqlcmd 命令和指令碼變數的組合。
建立指令碼檔案
假設您已安裝 AdventureWorks2022 範例資料庫,請遵循本節中的範例,建立可從命令提示字元使用 sqlcmd 執行的指令檔案。
若要使用 [記事本] 建立 Transact-SQL 指令碼檔案,請遵循下列步驟:
選取 [開始],依序指向 [所有程式] 和 [附屬應用程式],然後選取 [記事本]。
將下列 Transact-SQL 程式碼複製並貼到 [記事本] 中:
USE AdventureWorks2022; GO SELECT p.FirstName + ' ' + p.LastName AS 'Employee Name', a.AddressLine1, a.AddressLine2 , a.City, a.PostalCode FROM Person.Person AS p INNER JOIN HumanResources.Employee AS e ON p.BusinessEntityID = e.BusinessEntityID INNER JOIN Person.BusinessEntityAddress bea ON bea.BusinessEntityID = e.BusinessEntityID INNER JOIN Person.Address AS a ON a.AddressID = bea.AddressID; GO
將檔案儲存為 資料夾中myScript.sql ,例如
C:\scripts
磁碟驅動器。
執行指令碼檔案
開啟 [命令提示字元] 視窗。
在 [命令提示字元] 視窗中,鍵入:
sqlcmd -S myServer\instanceName -i C:\scripts\myScript.sql
按 ENTER 鍵。
Adventure Works 員工姓名和地址的清單即會寫入至命令提示字元視窗。
將輸出儲存到文字檔
開啟 [命令提示字元] 視窗。
在 [命令提示字元] 視窗中,鍵入:
sqlcmd -S myServer\instanceName -i C:\scripts\myScript.sql -o C:\EmpAdds.txt
按 ENTER 鍵。
此時在命令提示字元視窗中不會傳回任何輸出。 而是會將輸出送往 EmpAdds.txt 檔。 您可以開啟 EmpAdds.txt 檔來確認這份輸出。