Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam mulai cepat ini, Anda akan menggunakan satu perintah di sqlcmd untuk membuat kontainer baru, dan memulihkan database ke kontainer tersebut untuk membuat salinan lokal database baru, untuk pengembangan atau pengujian.
Prasyarat
- Runtime kontainer yang telah diinstal, seperti Docker atau Podman
- Menginstal ekstensi MSSQL untuk Visual Studio Code
- Menginstal sqlcmd terbaru
Keterangan
Menginstal sqlcmd (Go) melalui manajer paket menggantikan sqlcmd (ODBC) dengan sqlcmd (Go) di jalur lingkungan Anda. Setiap sesi baris perintah saat ini perlu ditutup dan dibuka kembali agar perubahan ini berlaku. sqlcmd (ODBC) tidak dihapus, dan masih dapat digunakan dengan menentukan jalur lengkap ke executable.
Anda juga dapat memperbarui variabel PATH Anda untuk menunjukkan versi mana yang diutamakan. Untuk melakukannya di Windows 11, buka Pengaturan sistem dan buka Tentang > pengaturan sistem Tingkat Lanjut. Saat Properti Sistem terbuka, pilih tombol Variabel Lingkungan. Di bagian bawah, di bawah Variabel sistem, pilih Jalur lalu pilih Edit. Jika lokasi sqlcmd (Go) disimpan ke (C:\Program Files\sqlcmd adalah default) tercantum sebelum C:\Program Files\Microsoft SQL Server\<version>\Tools\Binn, maka sqlcmd (Go) digunakan.
Anda dapat membalikkan urutan untuk membuat sqlcmd (ODBC) menjadi default lagi.
Mengunduh dan menginstal sqlcmd (Go)
Untuk informasi selengkapnya, lihat Mengunduh dan menginstal utilitas sqlcmd.
Masalah apa yang akan kita pecahkan?
Panduan cepat ini menjelaskan proses pembuatan salinan lokal dari database, lalu melakukan kueri untuk menganalisis pengeluaran oleh pelanggan.
Membuat kontainer baru dan memulihkan database
Buat instans SQL Server baru dalam kontainer menggunakan versi terbaru SQL Server. Perintah juga memulihkan WideWorldImporters database.
Buka jendela terminal baru dan jalankan perintah berikut:
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
Mengkueri database di Visual Studio Code
Sekarang setelah Anda memiliki salinan lokal database, Anda bisa menjalankan kueri.
Sambungkan ke database dengan ekstensi MSSQL untuk Visual Studio Code, dan jalankan kueri berikut untuk menganalisis pengeluaran oleh pelanggan:
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;
Bagaimana kita memecahkan masalah?
Anda dapat dengan cepat membuat salinan lokal database untuk tujuan pengembangan dan pengujian. Dengan satu perintah, Anda membuat instans lokal baru dan memulihkan cadangan terbaru ke dalamnya. Anda kemudian menjalankan perintah lain untuk menyambungkannya melalui Visual Studio Code. Anda kemudian mengkueri database menggunakan ekstensi MSSQL untuk Visual Studio Code untuk menganalisis pengeluaran oleh pelanggan.
Membersihkan sumber daya
Setelah selesai mencoba database, hapus kontainer dengan perintah berikut:
sqlcmd delete --force
--force Bendera digunakan di sini untuk kenyamanan karena kami berada di lingkungan demo. Dalam kebanyakan kasus, lebih baik tidak mengaktifkan --force untuk memastikan Anda tidak secara tidak sengaja menghapus database yang tidak Anda inginkan.