在本快速入門中,您將使用 sqlcmd 中的單一命令來建立新的容器,並將資料庫還原至該容器,以建立資料庫的新本機複本,以進行開發或測試。
先決條件
- 已安裝容器執行階段,例如 Docker 或 Podman
- 下載並安裝 Azure Data Studio
- 安裝最新的 sqlcmd
備註
通過套件管理器安裝 sqlcmd (Go)將會在您的環境路徑中,用 sqlcmd (Go) 取代 sqlcmd (ODBC)。 任何目前的命令行會話都必須關閉並重新開啟,此變更才會生效。 sqlcmd (ODBC) 未移除,而且仍可藉由指定可執行檔的完整路徑來使用。
您也可以更新 PATH 變數,以指出哪個版本優先。 若要在 Windows 11 中這樣做,請開啟 [系統設定],然後移至 [關於] > [進階系統設定]。 在 [系統屬性] 開啟時,選取 [環境變數] 按鈕。 在下半部的 [系統變數] 下,選取 [路徑],然後選取 [編輯]。 如果 sqlcmd (Go) 的儲存位置 (預設為 C:\Program Files\sqlcmd) 列在 C:\Program Files\Microsoft SQL Server\<version>\Tools\Binn 之前,則使用 sqlcmd (Go)。
您可以反轉順序,讓 sqlcmd (ODBC) 再次成為預設值。
下載並安裝 sqlcmd (Go)
如需詳細資訊,請參閱 下載並安裝 sqlcmd 公用程式。
我們會解決什麼問題?
本快速入門會逐步解說建立資料庫本地副本的程式,然後查詢資料庫以分析客戶的支出。
建立新的容器並還原資料庫
使用最新版本的 SQL Server,在容器中建立新的 SQL Server 執行個體。 此命令也會還原 WideWorldImporters 資料庫。
開啟新的終端機視窗,然後執行下列命令:
sqlcmd create mssql --name sql1 --accept-eula --using https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImporters-Full.bak
在 Azure Data Studio 中查詢資料庫
開啟 Azure Data Studio 並查看數據。
在相同的終端機視窗中,執行下列命令:
sqlcmd open ads現在您已擁有資料庫的本機複本,您可以執行查詢。 以下是您可以用來分析客戶支出的查詢:
SELECT bg.BuyingGroupName AS CustomerName, COUNT(DISTINCT i.InvoiceID) AS InvoiceCount, COUNT(il.InvoiceLineID) AS InvoiceLineCount, SUM(il.LineProfit) AS Profit, SUM(il.ExtendedPrice) AS ExtendedPrice FROM Sales.Invoices AS i INNER JOIN Sales.Customers AS c ON i.CustomerID = c.CustomerID INNER JOIN Sales.InvoiceLines AS il ON i.InvoiceID = il.InvoiceID INNER JOIN Sales.BuyingGroups AS bg ON c.BuyingGroupID = bg.BuyingGroupID GROUP BY bg.BuyingGroupName UNION SELECT c.CustomerName, COUNT(DISTINCT i.InvoiceID) AS InvoiceCount, COUNT(il.InvoiceLineID) AS InvoiceLineCount, SUM(il.LineProfit) AS Profit, SUM(il.ExtendedPrice) AS ExtendedPrice FROM Sales.Invoices AS i INNER JOIN Sales.Customers AS c ON i.CustomerID = c.CustomerID INNER JOIN Sales.InvoiceLines AS il ON i.InvoiceID = il.InvoiceID LEFT OUTER JOIN Sales.BuyingGroups AS bg ON c.BuyingGroupID = bg.BuyingGroupID WHERE bg.BuyingGroupID IS NULL GROUP BY c.CustomerName ORDER BY Profit DESC;
我們如何解決此問題?
您可以快速建立資料庫的本機複本,以供開發和測試之用。 使用單一命令,您已建立新的本機實例,並將最新的備份還原至該實例。 然後,您執行了另一個命令,以透過 Azure Data Studio 連線到它。 接著,您已使用 Azure Data Studio 查詢資料庫,以分析客戶的支出。
清理資源
當您完成嘗試資料庫時,請使用下列命令刪除容器:
sqlcmd delete --force
在這裡使用--force旗標是為了方便,因為我們是在示範環境中。 在大部分情況下,最好將--force旗標關閉,以確保您不會不小心刪除您不打算刪除的資料庫。