Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta sqlcmd'de tek bir komut kullanarak yeni bir kapsayıcı oluşturacak ve veritabanını bu kapsayıcıya geri yükleyip geliştirme veya test amacıyla veritabanının yeni bir yerel kopyasını oluşturacaksınız.
Önkoşullar
- Docker veya Podman gibi bir kapsayıcı çalışma zamanı yüklü olmalı
- Visual Studio Code için MSSQL uzantısını yükleme
- En son sqlcmd'yi yükleme
Açıklamalar
sqlcmd (Go) paketini bir paket yöneticisi aracılığıyla yüklemek, ortam yolunuzda sqlcmd (ODBC) yerine sqlcmd (Go) ile değiştirir. Bu değişikliğin geçerli olması için tüm geçerli komut satırı oturumlarının kapatılması ve yeniden açılması gerekir. sqlcmd (ODBC) kaldırılmaz ve yürütülebilir dosyanın tam yolu belirtilerek kullanılabilir.
Ayrıca, hangi sürümün öncelikli olduğunu belirtmek için değişkeninizi PATH güncelleştirebilirsiniz. Windows 11'de bunu yapmak için Sistem ayarları açın ve > hakkında bölümüne gidin. sistem özellikleri açıldığında, Ortam Değişkenleri düğmesini seçin. Alt yarıda, Sistem değişkenlerialtında Yol öğesini seçin ve ardından Düzenleseçeneğini seçin. sqlcmd (Go) konumu C:\Program Files\sqlcmdönce (C:\Program Files\Microsoft SQL Server\<version>\Tools\Binn varsayılandır) olarak kaydedilirse, sqlcmd (Go) kullanılır.
sırasını tersine çevirerek sqlcmd (ODBC) tekrar varsayılan yapabilirsiniz.
sqlcmd'yi indirme ve yükleme (Go)
Daha fazla bilgi için bkz. sqlcmd yardımcı programını indirme ve yükleme.
Hangi sorunu çözeceğiz?
Bu hızlı başlangıçta, bir veritabanının yerel kopyasını oluşturma ve ardından müşteri tarafından yapılan harcamaları analiz etmek üzere sorgulama işlemi adım adım izlenmiştir.
Yeni kapsayıcı oluşturma ve veritabanını geri yükleme
SQL Server'ın en son sürümünü kullanarak kapsayıcıda yeni bir SQL Server örneği oluşturun. Komut, WideWorldImporters veritabanını da geri yükler.
Yeni bir terminal penceresi açın ve aşağıdaki komutu çalıştırın:
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
Visual Studio Code'da veritabanını sorgulama
Artık veritabanınızın yerel bir kopyasına sahip olduğunuz için sorgular çalıştırabilirsiniz.
Visual Studio Code için MSSQL uzantısıyla veritabanına bağlanın ve müşterinin harcamalarını analiz etmek için aşağıdaki sorguyu çalıştırın:
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;
Sorunu nasıl çözdük?
Geliştirme ve test amacıyla bir veritabanının yerel kopyasını hızla oluşturabildiniz. Tek bir komutla yeni bir yerel örnek oluşturdunuz ve ona en son yedeklemeyi geri yüklediyseniz. Ardından Visual Studio Code aracılığıyla bağlanmak için başka bir komut çalıştırdınız. Ardından Visual Studio Code için MSSQL uzantısını kullanarak müşteri tarafından yapılan harcamaları analiz etmek için veritabanını sorguladınız.
Kaynakları temizleme
Veritabanını denemeyi bitirdiğinizde aşağıdaki komutu kullanarak kapsayıcıyı silin:
sqlcmd delete --force
Bir --force tanıtım ortamında olduğumuz için bayrağı burada kolaylık sağlamak için kullanılır. Çoğu durumda, istemeden istemediğiniz bir veritabanını silmediğinizden --force emin olmak için bayrağı kapalı bırakmak daha iyidir.