Udostępnij za pomocą


Szybki start: tworzenie nowej lokalnej kopii bazy danych w kontenerze za pomocą narzędzia sqlcmd

W tym krótkim przewodniku użyjesz jednego polecenia w narzędziu sqlcmd, aby utworzyć nowy kontener i przywrócić bazę danych do tego kontenera, tworząc nową lokalną kopię bazy danych do celów rozwoju lub testowania.

Wymagania wstępne

Uwagi

Zainstalowanie sqlcmd (Go) za pośrednictwem menedżera pakietów zastępuje wersję sqlcmd (ODBC) wersją sqlcmd (Go) w ścieżce środowiska. Aby ta zmiana została w życie, należy zamknąć i ponownie otworzyć wszystkie bieżące sesje wiersza polecenia. sqlcmd (ODBC) nie został usunięty i nadal można go używać, podając pełną ścieżkę do pliku wykonywalnego.

Możesz również zaktualizować zmienną PATH , aby wskazać, która wersja ma pierwszeństwo. Aby to zrobić w systemie Windows 11, otwórz ustawienia systemowe i przejdź do Informacje > Zaawansowane ustawienia systemu. Po otwarciu właściwości systemu wybierz przycisk zmiennych środowiskowych. W dolnej połowie w obszarze Zmienne systemowewybierz pozycję Ścieżka, a następnie wybierz pozycję Edytuj. Jeśli lokalizacja sqlcmd (Go) zostanie zapisana na liście (C:\Program Files\sqlcmd jest domyślna) zostanie wyświetlona przed C:\Program Files\Microsoft SQL Server\<version>\Tools\Binn, zostanie użyta sqlcmd (Go).

Możesz cofnąć kolejność, aby sqlcmd (ODBC) ponownie stał się domyślnym.

Pobieranie i instalowanie narzędzia sqlcmd (Go)

Aby uzyskać więcej informacji, zobacz Pobieranie i instalowanie narzędzia sqlcmd.

Jaki problem rozwiążemy?

Ten szybki start przeprowadzi cię przez proces tworzenia lokalnej kopii bazy danych, a następnie wykonywania zapytań względem niej w celu analizowania wydatków klientów.

Tworzenie nowego kontenera i przywracanie bazy danych

Utwórz nowe wystąpienie programu SQL Server w kontenerze przy użyciu najnowszej wersji programu SQL Server. Polecenie przywraca również bazę danych WideWorldImporters.

Otwórz nowe okno terminalu i uruchom następujące polecenie:

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

Wykonywanie zapytań względem bazy danych w narzędziu Azure Data Studio

Otwórz narzędzie Azure Data Studio i przyjrzyj się danym.

  1. W tym samym oknie terminalu uruchom następujące polecenie:

    sqlcmd open ads
    
  2. Teraz, gdy masz lokalną kopię bazy danych, możesz uruchamiać zapytania. Oto zapytanie, którego można użyć do analizowania wydatków przez klienta:

    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 rozwiązaliśmy ten problem?

Udało Ci się szybko utworzyć lokalną kopię bazy danych na potrzeby programowania i testowania. Za pomocą jednego polecenia utworzyłeś nowe wystąpienie lokalne i przywróciłeś najnowszą kopię zapasową. Następnie uruchomiono inne polecenie, aby nawiązać z nim połączenie za pośrednictwem narzędzia Azure Data Studio. Następnie wykonano zapytanie dotyczące bazy danych przy użyciu narzędzia Azure Data Studio w celu przeanalizowania wydatków przez klienta.

Czyszczenie zasobów

Gdy skończysz próbować bazy danych, usuń kontener za pomocą następującego polecenia:

sqlcmd delete --force

Flaga --force jest używana tutaj dla wygody, ponieważ jesteśmy w środowisku demonstracyjnym. W większości przypadków lepiej jest pozostawić flagę --force wyłączoną, aby upewnić się, że nie usuwasz przypadkowo bazy danych, której nie chcesz.