Pembaruan terbaru untuk Kerangka Aplikasi Data-Tier dan SqlPackage

Pada artikel ini, kami akan membahas beberapa perubahan terbaru pada Data-Tier Application Framework (DacFx) dan SqlPackage. DacFx adalah pustaka yang menyediakan API untuk skenario penyebaran dan pengembangan basis data dan SqlPackage adalah antarmuka baris perintah ke DacFx untuk penggunaan umum. Awal tahun ini SqlPackage merilis pembaruan termasuk dukungan tambahan untuk Azure Synapse Analytics dan peningkatan kinerja. Pratinjau pertama untuk 160 versi utama DacFx sekarang tersedia, berisi migrasi yang telah selesai ke Microsoft.Data.SqlClient. Untuk memfasilitasi diskusi dan berbagi contoh kode untuk DacFx dan SqlPackage, repositori GitHub telah tersedia.

Pembaruan Terbaru untuk SqlPackage

Dalam pembaruan terbaru untuk SqlPackage, 18.7 (Maret 2021) dan 18.7.1 (Juni 2021), fungsionalitas ditambahkan khusus untuk data besar di Azure Synapse Analytics, opsi ditambahkan untuk meningkatkan kinerja impor dalam beberapa skenario, dan perubahan dibuat untuk membuat pemecahan masalah dan penggunaan umum SqlPackage lebih mudah.

Dengan SqlPackage versi 18.7 dan di atasnya, Azure Synapse Analytics memperoleh peningkatan portabilitas melalui format file datar Parket. Melalui properti baris perintah tambahan pada operasi Ekstrak (lihat dokumentasi) data ditulis ke file datar di Azure Blob Storage sementara skema disimpan dalam file Dacpac. File datar yang menyimpan data dapat dipublikasikan ke database bersama dengan Dacpac melalui operasi Publikasikan dengan properti baris perintah yang serupa. Operasi Ekstrak dan Publikasikan memiliki peningkatan kinerja yang besar saat menulis ke Azure Blob Storage untuk ukuran database yang besar.

Dalam beberapa skenario impor SqlPackage, indeks memiliki dampak besar pada kinerja, apakah itu indeks yang membantu kecepatan penyisipan data atau membangun kembali indeks yang menghambat operasi lain. Untuk memungkinkan penyetelan lebih lanjut perilaku SqlPackage dalam kasus ini, properti baris perintah “RebuildIndexesOfflineForDataPhase” dan “DisableIndexesForDataPhase” ditambahkan ke tindakan Impor di SqlPackage 18.7.

Jika Anda ingin lebih memahami operasi SqlPackage untuk pemecahan masalah atau peningkatan kinerja, ada beberapa langkah penting untuk menangkap lebih banyak informasi. Mengaktifkan file diagnostik dengan parameter “/DiagnosticsFile:” adalah hal mendasar dan dalam rilis SqlPackage terbaru, versi dan arsitektur distandarisasi di bagian atas file untuk membantu pemecahan masalah perbedaan versi. Data pelacakan termasuk stempel waktu untuk kinerja dapat disertakan dengan menyetel variabel lingkungan “DACFX_PERF_TRACE” ke true. Untuk mendukung lingkungan di mana nama objek mungkin berisi informasi pengenal pribadi (PII) atau informasi rahasia lainnya, SqlPackage 18.7 menambahkan properti untuk semua operasi yang meng-hash nama objek di log (“HashObjectNamesInLogs”).

Pratinjau DacFx v160

Rilis pratinjau DacFx v160 sekarang tersedia sebagai paket NuGet untuk digunakan dalam pengujian atau pembaruan aplikasi yang ada ke Microsoft.Data.SqlClient. API DacFx eksternal tidak diubah oleh pembaruan ini, namun ketergantungan pada System.Data.SqlClient dihapus. Sebuah contoh aplikasi yang memanfaatkan rilis v160 dari DacFx tersedia. Aplikasi yang ada akan terus menggunakan paket NuGet v150 yang tersedia secara umum kecuali versi utama tidak ditentukan dan rilis pratinjau disertakan dalam dependensi paket.

Sebagai komponen dari beberapa alat SQL, termasuk Azure Data Studio, SQL Server Management Studio, dan Alat Data SQL Server di Visual Studio, DacFx v160 akan dimasukkan ke dalam alat tersebut untuk memajukan fungsionalitas selama beberapa bulan mendatang.

Repositori GitHub DacFx

Karena pustaka DacFx muncul melalui beberapa produk, mungkin sulit untuk menemukan informasi dan memberikan umpan balik khusus untuk DacFx dan SqlPackage CLI. Untuk mengurangi hambatan kolaborasi, sebuah repositori dibuka dengan fokus pada triaging dan penanganan umpan balik secara transparan. Anda dipersilakan untuk membuka diskusi seputar kasus penggunaan tertentu dan kami telah mulai mengumpulkan item yang dilaporkan sebelumnya dari saluran umpan balik lainnya. Kode dalam repositori akan terdiri dari sampel saat ini dan akan diperbarui berdasarkan pertanyaan dan umpan balik. Tim DacFx menantikan lingkungan dengan fokus pada penggunaan DacFx oleh komunitas dan membangun lebih banyak sumber daya.