Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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
- A Visual Studio Code MSSQL-bővítményének 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 a Visual Studio Code-ban
Most, hogy rendelkezik az adatbázis helyi másolatával, lekérdezéseket futtathat.
Csatlakozzon az adatbázishoz a Visual Studio Code MSSQL-bővítményével, és futtassa a következő lekérdezést az ügyfél kiadásainak elemzéséhez:
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. Ezt követően egy másik parancsot futtatott, hogy a Visual Studio Code-on keresztül kapcsolódjon hozzá. Ezután lekérdezte az adatbázist a Visual Studio Code MSSQL-bővítményével, 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.