Deploy gudang menggunakan pipeline

Berlaku untuk: ✅ Gudang di Microsoft Fabric

Microsoft Fabric pipeline menyediakan cara yang lebih efisien untuk mengubah skema gudang di berbagai workspace seperti Dev → Test → Production. Pipeline memiliki penanganan ketergantungan bawaan, validasi skema, dan intelijen penerapan deklaratif.

Important

Fitur ini sedang dalam tahap pratinjau.

Artikel ini menjelaskan proses penerapan gudang dengan pipeline.

Diagram siklus hidup penyebaran pipeline untuk Fabric Data Warehouse.

Pipeline deployment menyediakan struktur siklus hidup yang dibutuhkan untuk memindahkan perubahan gudang dengan aman di seluruh workspace. Mereka bertindak sebagai lapisan orkestrasi pusat untuk promosi skema, memungkinkan tim menstandarisasi bagaimana perubahan mengalir melalui platform analitik daripada bergantung pada penerapan ad hoc. Setelah dibuat, pipeline menjadi antarmuka utama untuk membandingkan gudang, meninjau perubahan, dan menjalankan deployment.

Membuat alur

Untuk membuat pipeline baru, lihat mulai dengan pipeline deployment untuk membuat dan mengelola pipeline deployment.

Bandingkan

Selalu verifikasi dan bandingkan perubahan T-SQL sebelum penerapan. Pipeline deployment menawarkan layar Bandingkan yang mudah di portal Fabric untuk meninjau objek gudang yang terdampak.

Meninjau perubahan memungkinkan tim memvalidasi kesiapan sebelum mempromosikan pembaruan ke lingkungan hilir. Proses ini sangat berharga dalam skenario perusahaan di mana beberapa tim berkontribusi dalam pengembangan gudang.

Fabric menggunakan DacFx (Data-tier Application Framework) untuk melakukan perbandingan ini. DacFx membangun model skema deklaratif dari kedua lingkungan dan mengidentifikasi perbedaan seperti tabel baru, kolom yang dimodifikasi, batasan, atau perubahan ketergantungan. Karena perbandingan ini berbasis model, perbandingan ini mencerminkan secara akurat apa yang terjadi selama deployment.

Important

Untuk perbandingan skema agar bisa berfungsi, gudang harus ada di ruang kerja sumber dan target. Jika workspace target belum berisi gudang, buat atau terapkan versi baseline awal terlebih dahulu.

Note

Jika klausa kolom COLLATE secara eksplisit menentukan kolasi yang sama dengan kolasi default gudang, perbandingan tidak menunjukkan perbedaannya, karena sama saja dengan tidak menentukan kolasi sama sekali. Hanya kolom yang kolasinya berbeda dari kolasi default gudang yang muncul dalam perbandingan ketika kolasi mereka berubah. Untuk informasi lebih lanjut dan contoh, lihat Troubleshoot integrasi Git untuk pengembangan Fabric Data Warehouse.

Sebelum menerapkan perubahan apa pun, gunakan kemampuan perbandingan pipeline penyebaran untuk meninjau perbedaan antara workspace gudang sumber dan target.

Tangkapan layar di portal Fabric menggunakan pipeline untuk membandingkan gudang di dua workspace yang berbeda.

Pilih Bandingkan dan lihat perubahan, seperti membuat tampilan baru di gudang:

Tangkapan layar perbandingan gudang di satu negara bagian dengan gudang di negara bagian lain.

Deploy

Setelah perbandingan selesai dan Anda memvalidasi perubahan, Anda dapat langsung menerapkan dari antarmuka pipeline dengan memilih item gudang yang akan dipromosikan.

Tangkapan layar dari portal Fabric pada layar Deploy to this stage dalam pipeline.

Selama deployment, pipeline deployment menggunakan DacFx untuk menghasilkan rencana deployment cerdas berdasarkan perbedaan skema. Fabric hanya menerapkan perubahan yang diperlukan untuk menyelaraskan workspace target dengan sumber.

Tangkapan layar dari portal Fabric tentang penerapan yang sukses.

Konfigurasi penerapan

Fabric pipeline deployment menggunakan teknologi deployment DacFx dengan konfigurasi yang disesuaikan khusus untuk Fabric Data Warehouse. Konfigurasi ini memastikan penerapan berhasil dengan andal sambil selaras dengan kemampuan dan praktik operasional platform Fabric.

  • Memblokir kemungkinan kehilangan data (BlockOnPossibleDataLoss = true) - Fabric Data Warehouse mencegah penyebaran yang dapat memotong, menjatuhkan, atau kehilangan data pengguna. Pengaturan ini menjaga perubahan skema berisiko tinggi agar tidak lolos dari CI/CD dan membuat risiko kehilangan data menjadi keputusan yang disengaja, bukan default diam-diam.

  • Melewati skrip opsi tingkat basis data (ScriptDatabaseOptions = false) - Fabric mengelola banyak pengaturan tingkat basis data di tingkat platform. Pernyataan scripting seperti ALTER DATABASE ... SET saat deployment dapat menyebabkan kegagalan atau penyimpangan konfigurasi yang tidak disengaja. Pipeline deployment dengan demikian menghindari penyebaran pengaturan ini, memastikan deployment skema hanya fokus pada objek gudang yang didukung.

  • Memungkinkan penegakan mesin untuk objek yang direplikasi (DoNotAlterReplicatedObjects = false) - Gudang sering menggunakan mekanisme replikasi internal, misalnya dalam skenario penghubungan atau sinkronisasi. Alih-alih memblokir perubahan skema lebih awal, pipeline deployment memungkinkan mesin Fabric menentukan apakah perubahan diizinkan. Pendekatan ini mencegah kegagalan penerapan yang tidak perlu sekaligus menjaga perlindungan platform.

  • Menonaktifkan skrip DDL transaksional (IncludeTransactionalScripts = false) - Gudang saat ini tidak mendukung pembungkusan skrip DDL di dalam transaksi. Pipeline deployment oleh karena itu menghasilkan skrip non-transaksional untuk memastikan deployment selesai dengan sukses.

  • Menggunakan default cerdas untuk evolusi skema (GenerateSmartDefaults = true) - Ketika perubahan skema memperkenalkan batasan yang lebih ketat, seperti mengonversi kolom yang dapat di-null menjadi tidak dapat di-null atau menambahkan kolom baru dengan kendala default, pipeline penyebaran dapat secara otomatis mengisi nilai baseline. Pendekatan ini membantu penerapan berhasil tanpa memerlukan persiapan data manual dan mengurangi gesekan operasional selama evolusi skema.

  • Mengecualikan prinsipal keamanan dari penerapan (ExcludeObjectTypes = Logins, Users, Permissions) - Objek keamanan sengaja dikecualikan dari penerapan gudang. Mempromosikan login, pengguna, atau izin lintas lingkungan dapat memperkenalkan risiko keamanan atau konflik spesifik lingkungan. Sebaliknya, kelola kontrol akses secara terpisah melalui proses tata kelola lingkungan atau manajemen identitas.

  • Tidak menjatuhkan objek yang tidak berada di sumber (DropObjectsNotInSource = false) - Objek yang ada di target tetapi tidak berada di sumber tidak otomatis dihapus. Gudang yang menjaga produksi tetap sinkron sempurna dengan kontrol sumber mungkin merasa ini membatasi.

Keterbatasan

  • Secara default, tabel pemblokiran sistem akan terjatuh. Proses penerapan tidak secara otomatis menghapus objek yang ada di target tetapi tidak di sumber. Desain ini mengurangi kehilangan data secara tidak sengaja dan mencegah penghapusan tak terduga dalam produksi.
  • Penerapan yang berhasil tidak selalu berarti setiap perubahan yang diminta diterapkan. Sebuah deployment dapat melaporkan keberhasilan bahkan ketika melewati aksi drop-table yang diminta, karena table drop secara default diblokir. Dalam kasus itu, operasi penerapan selesai, tetapi target masih bisa bergeser dari kontrol sumber sampai Anda secara eksplisit menyelesaikan perubahan yang hilang.
  • Saat ini, proses penerapan memprioritaskan keamanan daripada paritas sumber yang ketat dengan tidak menjatuhkan objek yang hanya ada di target.
  • Alur Penyebaran Fabric tidak mendukung item endpoint analitik SQL.
  • Dependensi lintas item, pengurutan item, dan kesenjangan sinkronisasi antara titik akhir analitik SQL dan gudang berdampak pada alur kerja Pipeline Penyebaran Fabric.
  • Memilih item terkait dalam pipeline deployment untuk Fabric Data Warehouse tidak didukung.

Pemecahan masalah integrasi Git

Untuk keterbatasan spesifik integrasi Git, lihat Keterbatasan dalam integrasi Git dalam artikel integrasi Git.

Untuk pemecahan masalah, solusi sementara, dan perbaikan terhadap masalah umum integrasi Git dalam pengembangan Fabric Data Warehouse, lihat Troubleshoot integrasi Git untuk pengembangan Fabric Data Warehouse.