Aracılığıyla paylaş


Hızlı Başlangıç: sqlcmd ile kapsayıcıda veritabanının yeni bir yerel kopyasını oluşturma

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

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.

  1. Aynı terminal penceresinde aşağıdaki komutu çalıştırın:

    sqlcmd open ads
    
  2. Artı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.