Aracılığıyla paylaş


Microsoft Fabric'te SQL veritabanı için SqlPackage

Şunlar için geçerlidir:Microsoft Fabric'te SQL veritabanı

Bu öğreticide, Doku'daki SQL veritabanınızda SqlPackage ile çalışmayı öğreneceksiniz.

SqlPackage, veritabanı taşınabilirliği ve veritabanı dağıtımları sağlayan bir CLI'dir.

  • Azure'da veya Fabric'te yönetilen bir veritabanının taşınabilirliği (içeri/dışarı aktarma), daha sonra geçiş yapmak istediğinizde verilerinizin SQL Server veya Azure SQL Yönetilen Örneği gibi diğer platformlara taşınabilir olmasını sağlar.
  • Aynı taşınabilirlik, içeri/dışarı aktarma işlemleriyle bağımsız veritabanı kopyaları (.bacpac) aracılığıyla belirli geçiş senaryolarını da etkinleştirir.

SqlPackage, veritabanı nesnelerine artımlı değişikliklerin (tablolardaki yeni sütunlar, mevcut saklı yordamlarda yapılan değişiklikler vb.) kolay veritabanı dağıtımlarını da etkinleştirebilir.

  • SqlPackage, veritabanındaki .dacpac nesnelerin tanımlarını içeren bir dosyayı ayıklayabilir ve bu nesne durumunu yeni veya var olan bir .dacpac veritabanına uygulamak için bir dosya yayımlayabilir.
  • Yayımlama işlemi, SQL veritabanları için çevrimdışı ve daha dinamik geliştirme döngüleri sağlayan SQL projeleriyle de tümleştirilir.

Önkoşullar

  • Mevcut bir Doku kapasitesine ihtiyacınız vardır. Aksi takdirde bir Fabric deneme sürümü başlatın.
  • Yapı kiracı ayarlarında SQL veritabanını etkinleştirdiğinizden emin olun.
  • Yeni bir çalışma alanı oluşturun veya var olan bir Doku çalışma alanını kullanın.
  • Doku'da var olan bir SQL veritabanı oluşturun veya kullanın. Henüz bir veritabanınız yoksa, Doku'da yeni bir SQL veritabanı oluşturun.
  • .NET 8 SDK'sını yükleyin.

Ayarlama

SqlPackage, Windows, macOS ve Linux için dotnet aracı olarak kullanılabilir. Aşağıdaki komutu kullanarak yükleyebilirsiniz:

dotnet tool install --global Microsoft.SqlPackage

Genel bir dotnet aracı olarak SqlPackage, terminalinizde herhangi bir klasörde olduğu gibi sqlpackage kullanılabilir.

SqlPackage ile veritabanını içeri aktarma

, .bacpac veritabanının taşınabilir bir kopyasıdır ve bazı geçiş ve test senaryoları için kullanışlıdır. Bunu boş bir SQL veritabanına aktarabilirsiniz .bacpac.

Not

A .bacpac , yedekleme veya yedekleme/geri yükleme özelliklerinin yerine geçmiyor. Fabric SQL veritabanındaki yedeklemeler hakkında daha fazla bilgi için bkz. Microsoft Fabric'teki SQL veritabanında otomatik yedeklemeler ve Microsoft Fabric'teki SQL veritabanından geri yükleme.

  1. Azure SQL Veritabanı ortamınızdan bir .bacpac kullanıyorsanız, Doku SQL veritabanı T-SQL yüzey alanını karşılamak için kaynak veritabanını değiştirmeniz gerekebilir.

  2. Doku arabirimi aracılığıyla her zamanki gibi Doku'da yeni SQL veritabanınızı oluşturun.

  3. Ayarlardan bağlantı dizesi kopyalayın.

    SQL veritabanının Bağlantı dizeleri sayfasını gösteren Doku portalının ekran görüntüsü.

  4. sqlpackage klasöründeki terminalden içeri aktarma komutunu kullanın. Sahibinizi <servername> ve <database_name>sağlayın.

    sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
    
    • SQL veritabanı ayarları iletişim kutusundan bağlantı dizesi değiştirin.
    • sourcefile değerini yerel makinenizde adı (.bacpac) ve DatabaseName adıyla location değiştirin.

İçeri aktarma hakkında daha fazla bilgi için bkz . SqlPackage içeri aktarma.

SqlPackage ile veritabanını dışarı aktarma

A'yı .bacpac dışarı aktarmak ters işlemdirtargetfile; burada sizin .bacpac ve öğesiniz sourceconnectionstring önceki örnekte olduğu gibi SQL veritabanı ayarları iletişim kutusunda bulunabilir. Sahibinizi <servername> ve <database_name>sağlayın. Örneğin:

sqlpackage.exe /action:export /targetfile:"C:\DatabaseName.bacpac" /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"

Dışarı aktarma hakkında daha fazla bilgi için bkz . SqlPackage dışarı aktarma.

Ayıklama ve yayımlama

SQL veritabanı projelerinin şema değişikliklerini nasıl taşıyabileceğini gösteren diyagram.

A .dacpac , kaynak veritabanındaki tablolara, saklı yordamlara ve diğer nesnelere yönelik tanımları içeren bir veritabanı şema modeli dosyasıdır. Bu dosya, SqlPackage içeren mevcut bir veritabanından veya bir SQL veritabanı projesinden oluşturulabilir.

SqlPackage, yeni (boş) bir veritabanına bir dağıtabilir .dacpac veya mevcut bir veritabanını istenen .dacpac durumla eşleşecek şekilde artımlı olarak güncelleştirebilir.

  • Ayıkla , mevcut bir .dacpac veritabanından veya sql dosyaları oluşturur.
  • Yayımlama bir .dacpac veritabanına dağıtır.

SqlPackage yayımlama ve ayıklama söz dizimi, içeri/dışarı aktarma komutlarına benzer.

Uyarı

SqlPackage kullanarak bir SQL projesi veya .dacpac Doku'daki SQL veritabanına dağıtmanız önerilir. Visual Studio'dan .dacpac dağıtımı başarısızlıkla sonuçlanabilir.

Azure SQL Veritabanı, SQL Server veya Fabric'deki SQL veritabanı dışında bir platformu hedefleyen bir SQL Projesi'nden oluşturulan bir .dacpac dağıtmak için, SqlPackage yayımlama komutuna /p:AllowIncompatiblePlatform=true özelliğini ekleyin.