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ı
- Azure Data Studio'yu indirme ve 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
Azure Data Studio'da veritabanını sorgulama
Azure Data Studio'yu açın ve verilere göz atın.
Aynı terminal penceresinde aşağıdaki komutu çalıştırın:
sqlcmd open adsArtık veritabanınızın yerel bir kopyasına sahip olduğunuz için sorgular çalıştırabilirsiniz. Müşterinin harcamalarını analiz etmek için kullanabileceğiniz bir sorgu aşağıdadır:
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 Azure Data Studio aracılığıyla bağlanmak için başka bir komut çalıştırdınız. Ardından azure data studio kullanarak müşteri harcamalarını analiz etmek için veritabanını sorgulamıştı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.