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.
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.Doku arabirimi aracılığıyla her zamanki gibi Doku'da yeni SQL veritabanınızı oluşturun.
Ayarlardan bağlantı dizesi kopyalayın.
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
) veDatabaseName
adıylalocation
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
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.