Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:✅Database SQL di Microsoft Fabric
Dalam tutorial ini, Anda mempelajari cara bekerja dengan SqlPackage di database SQL Anda di Fabric.
SqlPackage adalah CLI yang menyediakan portabilitas database dan penyebaran database.
- Portabilitas (impor/ekspor) database yang dikelola di Azure atau di Fabric memastikan data Anda portabel ke platform lain jika Anda ingin bermigrasi nanti. - Portabilitas mencakup pergerakan ke dan dari SQL Server, Azure SQL Database, Azure SQL Managed Instance, dan database SQL di Fabric melalui salinan database mandiri (
.bacpacatau.dacpacfile).
SqlPackage juga dapat mengaktifkan penyebaran database yang mudah dari perubahan bertahap pada objek database (kolom baru dalam tabel, perubahan pada prosedur tersimpan yang ada, dll.).
- SqlPackage dapat mengekstrak file yang
.dacpacberisi definisi objek dalam database, dan menerbitkan.dacpacfile untuk menerapkan status objek tersebut ke database baru atau yang sudah ada. - Operasi penerbitan juga terintegrasi dengan proyek SQL, yang memungkinkan siklus pengembangan offline dan lebih dinamis untuk database SQL.
Prasyarat
- Anda memerlukan kapasitas Fabric yang ada. Jika tidak, mulai uji coba Fabric.
- Buat ruang kerja baru atau gunakan ruang kerja Fabric yang ada.
- Membuat atau menggunakan database SQL yang ada di Fabric. Jika Anda belum memilikinya, buat database SQL baru di Fabric.
- Instal .NET 8 SDK.
Siapkan
SqlPackage tersedia untuk Windows, macOS, dan Linux sebagai alat dotnet. Anda dapat menginstalnya menggunakan perintah berikut:
dotnet tool install --global Microsoft.SqlPackage
Sebagai alat dotnet global, SqlPackage tersedia di terminal Anda seperti sqlpackage dari folder apa pun.
Mengimpor database dengan SqlPackage
.bacpac adalah salinan portabel database, berguna untuk beberapa skenario migrasi dan pengujian. Anda dapat mengimpornya.bacpac ke database SQL kosong dengan impor SqlPackage.
Catatan
.bacpac bukanlah cadangan atau pengganti kemampuan pencadangan/pemulihan. Untuk informasi selengkapnya tentang pencadangan untuk database SQL di Fabric, lihat Pencadangan otomatis dalam database SQL di Microsoft Fabric dan Pemulihan dari cadangan dalam database SQL di Microsoft Fabric.
Jika menggunakan
.bacpacdari lingkungan Azure atau SQL Server, Anda mungkin perlu mengubah database sumber untuk memenuhi database SQL di area permukaan Fabric T-SQL. Lihat ekstraksi dan publikasi portabilitas untuk metode alternatif yang memungkinkan properti SqlPackage mengabaikan beberapa objek yang tidak didukung.Buat database SQL baru Anda di Fabric seperti biasa melalui antarmuka Fabric.
Salin string koneksi dari pengaturan.
Gunakan perintah impor dari terminal di folder sqlpackage. Berikan pemilik
<servername>Anda dan<database_name>.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"- Ganti string koneksi Anda dari dialog pengaturan database SQL.
-
sourcefileGanti nilai dengan.bacpacnama (DatabaseName) danlocationpada komputer lokal Anda.
Ikuti impor dengan tugas Salin di Data Factory di Microsoft Fabric. Untuk memulai, lihat Panduan Cepat: Membuat tugas penyalinan.
Mengekspor database dengan SqlPackage
Mengekspor adalah .bacpac operasi terbalik, di mana Anda targetfile adalah dan .bacpac Anda sourceconnectionstring dapat ditemukan dalam dialog pengaturan database SQL, seperti pada contoh sebelumnya. Berikan pemilik <servername> Anda dan <database_name>. Contohnya:
sqlpackage /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"
Untuk informasi selengkapnya tentang ekspor, lihat Ekspor SqlPackage.
Mengekstrak dan menerbitkan
.dacpac adalah file model skema database, yang berisi definisi untuk tabel, prosedur tersimpan, dan objek lain dalam database sumber. File ini dapat dibuat dari database yang ada dengan SqlPackage atau dari proyek database SQL.
SqlPackage mampu menyebarkan .dacpac ke database baru (kosong) atau memperbarui database yang ada secara bertahap agar sesuai dengan status yang diinginkan .dacpac .
-
Ekstrak membuat
.dacpacfile atau sql dari database yang sudah ada. -
Menerbitkan menyebarkan
.dacpacke database.
Sintaks SqlPackage menerbitkan dan ekstrak mirip dengan perintah impor/ekspor.
Peringatan
Sebaiknya gunakan SqlPackage untuk menyebarkan proyek SQL atau .dacpac ke database SQL di Fabric. Menyebarkan .dacpac dari Visual Studio mungkin tidak berhasil.
Untuk menyebarkan .dacpac yang dibuat dari Azure SQL Database, SQL Server, atau proyek SQL yang menargetkan platform selain database SQL di Fabric, tambahkan properti /p:AllowIncompatiblePlatform=true ke perintah terbitkan SqlPackage.
Mengekstrak dan menerbitkan portabilitas
Meskipun perintah impor/ekspor SqlPackage difokuskan pada portabilitas data dengan .bacpac format , perintah ekstrak dan terbitkan mampu portabilitas data dengan .dacpac format . Properti ekstraksi dan penerbitan dapat digunakan untuk mengontrol perilaku operasi ekstraksi dan penerbitan serta memberikan lebih banyak fleksibilitas untuk konversi lintas platform.
Untuk mengekstrak.dacpac sekaligus menyertakan data, gunakan properti /p:ExtractAllTableData=true. Operasi ekstrak membuat .dacpac yang berisi skema dan data dari database sumber. Properti /p:ExtractReferencedServerScopedElements=false mengecualikan elemen berbasis server, yang tidak didukung dalam database SQL di Fabric. Perintah berikut mengekstrak .dacpac dengan data dari database SQL yang ada di Fabric:
sqlpackage /action:extract /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" /targetfile:"C:\extracted.dacpac" /p:ExtractAllTableData=true /p:ExtractReferencedServerScopedElements=false
Untuk menerbitkan.dacpac yang diekstrak dari data, tidak diperlukan properti tambahan. Namun, beberapa properti dapat digunakan untuk mengontrol perilaku operasi penerbitan:
-
/p:AllowIncompatiblePlatform=truememungkinkan penyebaran.dacpacyang diekstrak dari platform yang berbeda (misalnya, Azure SQL Database, SQL Server). -
/p:ExcludeObjectTypes=Logins;Usersmengecualikan jenis objek yang mungkin mengalami masalah kompatibilitas saat menerbitkan ke database SQL di Fabric. Untuk daftar lengkap jenis objek yang dapat dikecualikan, lihat SqlPackage publish.
Demikian pula dengan perintah impor SqlPackage, sebelum menerbitkan database .dacpac ke SQL di Fabric, Anda perlu membuat database di Fabric. Anda dapat membuat database melalui portal Fabric atau antarmuka Fabric lainnya. Perintah berikut menerbitkan yang diekstrak .dacpac ke database SQL kosong di Fabric:
sqlpackage /action:publish /sourcefile:"C:\extracted.dacpac" /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" /p:AllowIncompatiblePlatform=true /p:ExcludeObjectTypes=Logins;Users