Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto rychlém startu použijete jeden příkaz v sqlcmd k vytvoření nového kontejneru a obnovení databáze do tohoto kontejneru k vytvoření nové místní kopie databáze pro účely vývoje nebo testování.
Požadavky
- Nainstalovaný runtime kontejneru, například Docker nebo Podman
- Stažení a instalace nástroje Azure Data Studio
- Instalace nejnovější verze sqlcmd
Poznámky
Instalace sqlcmd (Go) prostřednictvím správce balíčků nahrazuje sqlcmd (ODBC) za sqlcmd (Go) v cestě vašeho prostředí. Aby se tato změna projevila, musí být všechny aktuální relace příkazového řádku zavřené a znovu otevřené. Sqlcmd (ODBC) se neodebere a dá se použít zadáním úplné cesty ke spustitelnému souboru.
Můžete také aktualizovat PATH proměnnou tak, aby označí, která verze má přednost. Pokud to chcete udělat ve Windows 11, otevřete Systémové nastavení a přejděte na O systému > Rozšířené nastavení systému. Když se vlastnosti systému otevře, vyberte tlačítko Proměnné prostředí. V dolní polovině v části Systémové proměnnévyberte Cesta a pak vyberte Upravit. Pokud je umístění sqlcmd (Go) uloženo (C:\Program Files\sqlcmd je výchozí) je uvedeno před C:\Program Files\Microsoft SQL Server\<version>\Tools\Binn, pak se použije sqlcmd (Go).
Pořadí můžete zvrátit, aby sqlcmd (ODBC) se stal znovu výchozí volbou.
Stažení a instalace sqlcmd (Go)
Další informace naleznete v tématu Stažení a instalace nástroje sqlcmd.
Jaký problém vyřešíme?
Tento rychlý start vás provede procesem vytváření místní kopie databáze a dotazováním na analýzu výdajů dle zákazníka.
Vytvoření nového kontejneru a obnovení databáze
Vytvořte novou instanci SQL Serveru v kontejneru pomocí nejnovější verze SQL Serveru. Příkaz také obnoví databázi WideWorldImporters.
Otevřete nové okno terminálu a spusťte následující příkaz:
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
Dotazování databáze v nástroji Azure Data Studio
Otevřete Azure Data Studio a podívejte se na data.
Ve stejném okně terminálu spusťte následující příkaz:
sqlcmd open adsTeď, když máte místní kopii databáze, můžete spouštět dotazy. Tady je dotaz, který můžete použít k analýze útraty zákazníkem:
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;
Jak jsme tento problém vyřešili?
Podařilo se vám rychle vytvořit místní kopii databáze pro účely vývoje a testování. Pomocí jednoho příkazu jste vytvořili novou místní instanci a obnovili jste do ní nejnovější zálohu. Potom jste spustili další příkaz, který se k němu připojil přes Azure Data Studio. Pak jste pomocí nástroje Azure Data Studio dotazovali databázi k analýze útrat podle zákazníka.
Čištění zdrojů
Po dokončení pokusu o vyzkoušení databáze odstraňte kontejner pomocí následujícího příkazu:
sqlcmd delete --force
Příznak --force se zde používá pro usnadnění, protože jsme v ukázkovém prostředí. Ve většině případů je lepší nechat --force příznak vypnutý, abyste si byli jisti, že náhodou neodstraníte databázi, kterou nechcete.