Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Ugyanabban a terminálablakban futtassa a következő parancsot:
sqlcmd open adsMost, 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.