Megosztás a következőn keresztül:


Rövid útmutató: Adatbázis új helyi másolatának létrehozása egy tárolóban sqlcmd használatával

Ebben a rövid útmutatóban egyetlen parancsot fog használni az sqlcmd-ben egy új tároló létrehozásához, és visszaállít egy adatbázist arra a tárolóra, hogy létrehozhasson egy új helyi másolatot egy adatbázisról fejlesztés vagy tesztelés céljából.

Előfeltételek

  • Telepített tároló futtatókörnyezete, például Docker vagy Podman
  • Az Azure Data Studio letöltése és telepítése
  • A legújabb sqlcmd telepítése

Megjegyzések

A csomagkezelőn keresztül történő sqlcmd (Go) telepítése a környezeti útvonalon lecseréli a sqlcmd (ODBC)-t sqlcmd (Go)-ra. A módosítás érvénybe lépéséhez minden aktuális parancssori munkamenetet be kell zárni és újra meg kell nyitni. Az sqlcmd (ODBC) nincs eltávolítva, és továbbra is használható a végrehajtható fájl teljes elérési útjának megadásával.

A változót úgy is frissítheti PATH , hogy jelezze, melyik verzió élvez elsőbbséget. Ehhez a Windows 11-ben nyissa meg a Rendszerbeállításokat, és lépjen a Névjegy > Speciális rendszerbeállításokrészhez. Amikor megnyílik rendszertulajdonságok, válassza a Környezeti változók gombot. Az alsó részén, a Rendszerváltozókalatt válassza az Elérési út lehetőséget, majd a Szerkesztésparancsot. Ha a helyen található sqlcmd (Go) a (C:\Program Files\sqlcmd az alapértelmezett) van felsorolva a C:\Program Files\Microsoft SQL Server\<version>\Tools\Binnelőtt, akkor a sqlcmd (Go) kerül használatra.

Megfordíthatja a sorrendet, hogy sqlcmd (ODBC) legyen ismét az alapértelmezett.

Sqlcmd (Go) letöltése és telepítése

További információ: Az sqlcmd segédprogram letöltése és telepítése.

Milyen problémát fogunk megoldani?

Ez a rövid útmutató végigvezeti az adatbázis helyi másolatának létrehozásának folyamatán, majd lekérdezi azt az ügyfél kiadásainak elemzéséhez.

Új tároló létrehozása és adatbázis visszaállítása

Hozzon létre egy új SQL Server-példányt egy tárolóban az SQL Server legújabb verziójával. A parancs a WideWorldImporters adatbázist is visszaállítja.

Nyisson meg egy új terminálablakot, és futtassa a következő parancsot:

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

Az adatbázis lekérdezése az Azure Data Studióban

Nyissa meg az Azure Data Studiót, és tekintse meg az adatokat.

  1. Ugyanabban a terminálablakban futtassa a következő parancsot:

    sqlcmd open ads
    
  2. Most, hogy rendelkezik az adatbázis helyi másolatával, lekérdezéseket futtathat. Az alábbi lekérdezéssel elemezheti az ügyfelek kiadásait:

    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;
    

Hogyan oldottuk meg a problémát?

Gyorsan létrehozhatott egy adatbázis helyi példányát fejlesztési és tesztelési célokra. Egyetlen paranccsal létrehozott egy új helyi példányt, és visszaállította a legutóbbi biztonsági mentést. Ezután futtatott egy másik parancsot, amellyel az Azure Data Studióval csatlakozhat hozzá. Ezután lekérdezte az adatbázist az Azure Data Studióval, hogy elemezze az ügyfelek kiadásait.

Erőforrások tisztítása

Ha végzett az adatbázis kipróbálásával, törölje a tárolót a következő paranccsal:

sqlcmd delete --force

A --force zászlót itt használjuk a kényelem érdekében, mivel bemutató környezetben vagyunk. A legtöbb esetben jobb, ha kikapcsolja a --force jelzőt, hogy biztosan ne törölje véletlenül a nem kívánt adatbázist.