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.
Aplikasi ke:✅SQL database di Microsoft Fabric
Dalam tutorial ini, Anda mempelajari cara bekerja dengan database SQL Anda di Fabric dengan menggunakan kontrol sumber integrasi git Fabric.
Database SQL di Microsoft Fabric memiliki integrasi kontrol sumber, atau "integrasi git," sehingga pengguna dapat melacak definisi objek database mereka dari waktu ke waktu. Integrasi ini memungkinkan tim untuk:
- Terapkan database ke kontrol sumber, yang secara otomatis mengonversi database langsung menjadi kode di repositori kontrol sumber yang dikonfigurasi (seperti Azure DevOps).
- Perbarui objek database dari konten kontrol sumber, yang memvalidasi kode di repositori kontrol sumber sebelum menerapkan perubahan diferensial ke database.
Jika Anda tidak terbiasa dengan git, berikut adalah beberapa sumber daya yang direkomendasikan:
Artikel ini menyajikan serangkaian skenario berguna yang dapat Anda gunakan secara individual atau dalam kombinasi untuk mengelola proses pengembangan Anda dengan database SQL di Fabric:
- Mengonversi database Fabric SQL menjadi kode dalam kontrol sumber
- Memperbarui database Fabric SQL dari kontrol sumber
- Membuat ruang kerja cabang
- Gabungkan perubahan dari satu cabang ke cabang lainnya
- Mengelola data statis dengan skrip pasca-penyebaran
Skenario dalam artikel ini dibahas dalam episode Data Terekspos. Tonton video untuk gambaran umum integrasi kontrol sumber di Fabric:
Catatan
Pengaturan tingkat database seperti tingkat kolase dan kompatibilitas tidak disertakan dalam kontrol sumber dan integrasi alur penyebaran saat ini. Untuk pengaturan database yang bisa Anda atur dengan menggunakan T-SQL setelah pembuatan database, Anda bisa mengubah database dengan skrip setelah penyebaran.
Prasyarat
- Anda memerlukan kapasitas Fabric yang sudah ada. Jika tidak, mulai uji coba Fabric.
- Pastikan Anda mengaktifkan pengaturan penyewa integrasi Git.
- 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.
- Opsional: Instal Visual Studio Code, ekstensi MSSQL, dan proyek SQL ekstensi untuk Visual Studio Code.
Pengaturan
Koneksi repositori ini berlaku di tingkat ruang kerja, sehingga satu cabang di repositori dikaitkan dengan ruang kerja tersebut. Repositori dapat memiliki beberapa cabang, tetapi hanya kode di cabang yang dipilih dalam pengaturan ruang kerja yang berdampak langsung pada ruang kerja.
Untuk langkah-langkah menyambungkan ruang kerja Anda ke repositori kontrol sumber, lihat Mulai menggunakan integrasi Git. Ruang kerja Anda dapat disambungkan ke repositori jarak jauh Azure DevOps atau GitHub.
Menambahkan database Fabric SQL ke kontrol sumber
Dalam skenario ini, Anda menerapkan objek database ke kontrol sumber. Anda mungkin mengembangkan aplikasi tempat Anda membuat objek secara langsung dalam database pengujian dan melacak database tersebut di kontrol sumber seperti kode aplikasi Anda. Akibatnya, Anda memiliki akses ke riwayat definisi objek database Anda dan dapat menggunakan konsep Git seperti percabangan dan penggabungan untuk menyesuaikan proses pengembangan Anda.
- Hubungkan ke database SQL Anda di editor Fabric SQL, SQL Server Management Studio, ekstensi MSSQL untuk Visual Studio Code, atau alat eksternal lainnya.
- Buat tabel baru, prosedur tersimpan, atau objek lain dalam database.
- Pilih tombol Kontrol sumber untuk membuka panel kontrol sumber.
- Pilih kotak centang di samping database yang diinginkan. Pilih Terapkan. Layanan Fabric membaca definisi objek dari database dan menulisnya ke repositori jarak jauh.
- Sekarang Anda dapat melihat riwayat objek database dalam tampilan sumber repositori kode.
Saat Anda terus mengedit database, termasuk mengedit objek yang sudah ada, terapkan perubahan tersebut ke kontrol sumber dengan mengikuti langkah-langkah sebelumnya.
File proyek SQL
File proyek SQL di repositori kontrol sumber berisi metadata tentang database. Integrasi kontrol sumber fabric menggunakan file ini untuk membawa lebih banyak fungsionalitas ke dalam kontrol sumber dan alur penyebaran. Integrasi kontrol sumber fabric secara otomatis menghasilkan dan memperbarui file proyek. Hindari pengeditan manual ke file proyek karena pengeditan Anda ke file proyek akan ditimpa oleh integrasi kontrol sumber Fabric pada commit berikutnya dari Fabric. Namun, jika Anda ingin membangun proyek SQL secara lokal dengan menggunakan alat SQL seperti SQL Server Management Studio atau ekstensi proyek SQL untuk Visual Studio Code, Anda dapat menambahkan referensi ke master.dacpac file dalam file proyek Anda.
Integrasi Fabric dengan proyek SQL menambahkan properti metadata ini ke file proyek:
- Mengecualikan direktori
.sharedQueriesdari pembuatan proyek basis data. Pengecualian ini memungkinkan Anda melacak skrip dalam kontrol sumber tanpa memengaruhi validasi model database. - Skrip pra-penyebaran dan pasca-penyebaran dari folder .sharedQueries
- Referensi objek sistem dalam bentuk paket ke file master.dacpac
Kemampuan referensi objek sistem disiapkan secara otomatis tanpa diperlukan tindakan. Editor kueri Fabric menyediakan skrip pra-penyebaran dan pasca-penyebaran di bawah folder Kueri Bersama .
Memperbarui database Fabric SQL dari kontrol sumber
Dalam skenario ini, Anda membuat objek database sebagai kode dalam ekstensi proyek SQL di Visual Studio Code, lalu menerapkan file ke kontrol sumber sebelum memperbarui database Fabric SQL dari integrasi kontrol sumber. Skenario ini ditargetkan untuk pengembang yang lebih suka bekerja di Visual Studio Code, memiliki aplikasi yang ada menggunakan proyek SQL, atau memiliki persyaratan alur CI/CD yang lebih canggih.
- Pastikan Anda menginstal rilis terbaru Visual Studio Code dan ekstensi proyek MSSQL dan SQL untuk Visual Studio Code.
- Buat database SQL baru di ruang kerja Anda dan terapkan ke kontrol sumber tanpa menambahkan objek apa pun. Langkah ini menambahkan proyek SQL kosong dan metadata item database SQL ke repositori.
- Kloning repositori kontrol sumber ke komputer lokal Anda.
- Jika Anda menggunakan Azure DevOps, pilih menu konteks
...untuk proyek kontrol sumber. Pilih Clone untuk menyalin repositori Azure DevOps Anda ke komputer lokal Anda. Jika Anda baru mengenal Azure DevOps, lihat panduan Code dengan git untuk Azure DevOps. - Jika Anda menggunakan GitHub, pilih tombol Code di repositori dan salin URL untuk mengkloning repositori ke komputer lokal Anda. Jika Anda baru menggunakan GitHub, lihat panduan kloning repositori.
- Jika Anda menggunakan Azure DevOps, pilih menu konteks
- Buka folder kloning di Visual Studio Code. Cabang yang terkait dengan ruang kerja Anda mungkin bukan default. Anda akan melihat folder bernama
<yourdatabase>.SQLDatabasedi Visual Studio Code setelah mengalihkan cabang. - Buat
.sqlfile untuk setidaknya satu tabel yang ingin Anda buat di database dalam struktur folder untuk database Anda. File harus berisiCREATE TABLEpernyataan untuk tabel. Misalnya, buat file bernamaMyTable.sqldi folderdbo/Tablesdengan konten berikut:CREATE TABLE dbo.MyTable ( Id INT PRIMARY KEY, ExampleColumn NVARCHAR(50) ); - Untuk memastikan sintaks valid, validasi model database dengan proyek SQL. Setelah menambahkan file, gunakan tampilan Proyek Database di Visual Studio Code untuk Membangun proyek.
- Setelah build berhasil, Terapkan file ke kontrol sumber dengan menggunakan tampilan kontrol sumber di Visual Studio Code atau antarmuka git lokal pilihan Anda.
- Dorong/sinkronkan commit Anda ke repositori remote. Periksa apakah file baru Anda muncul di Azure DevOps atau GitHub.
- Kembali ke antarmuka web Fabric dan buka panel kontrol Sumber di ruang kerja. Anda mungkin sudah memiliki pemberitahuan bahwa "Anda memiliki perubahan tertunda di git". Pilih tombol Perbarui (Perbarui Semua) untuk menerapkan kode dari proyek SQL Anda ke database.
- Anda mungkin melihat database segera menyatakan bahwa database tersebut "belum di-commit" setelah pembaruan. Status ini terjadi karena fitur Integrasi Git melakukan perbandingan langsung dari semua konten file yang dihasilkan untuk definisi item, dan beberapa perbedaan yang tidak disengaja dimungkinkan. Salah satu contohnya adalah atribut 'inline' pada kolom. Dalam kasus ini, Anda perlu berkomitmen kembali ke kontrol sumber di antarmuka web Fabric untuk menyinkronkan definisi dengan apa yang dihasilkan sebagai bagian dari operasi penerapan.
- Setelah pembaruan selesai, gunakan alat pilihan Anda untuk menyambungkan ke database. Objek yang Anda tambahkan ke proyek SQL terlihat dalam database.
Catatan
Saat Anda membuat perubahan pada proyek SQL lokal, jika ada kesalahan sintaksis atau penggunaan fitur yang tidak didukung di Fabric, pembaruan database gagal. Anda harus mengembalikan perubahan kontrol sumber secara manual sebelum dapat melanjutkan.
Memperbarui database SQL di Fabric dari kontrol sumber menggabungkan build proyek SQL dan operasi penerbitan SqlPackage. Build proyek SQL memvalidasi sintaks file SQL dan menghasilkan file .dacpac. Operasi penerbitan SqlPackage menentukan perubahan yang diperlukan untuk memperbarui database agar sesuai dengan .dacpac file. Karena sifat antarmuka Fabric yang disederhanakan, opsi berikut diterapkan ke operasi penerbitan SqlPackage:
/p:ScriptDatabaseOptions = false/p:DoNotAlterReplicatedObjects = false/p:IncludeTransactionalScripts = true/p:GenerateSmartDefaults = true
Anda juga dapat mengkloning proyek SQL yang dikontrol sumber ke komputer lokal Anda untuk diedit di Visual Studio Code, SQL Server Management Studio, atau alat proyek SQL lainnya. Buat proyek SQL secara lokal untuk memvalidasi perubahan sebelum menerapkannya ke kontrol sumber.
Membuat ruang kerja cabang
Dalam skenario ini, Anda menyiapkan lingkungan pengembangan baru di Fabric dengan meminta Fabric membuat sekumpulan sumber daya duplikat berdasarkan definisi kontrol sumber. Database duplikat menyertakan objek database yang Anda daftarkan ke dalam pengendalian sumber. Skenario ini untuk pengembang yang melanjutkan siklus hidup pengembangan aplikasi mereka di Fabric dan memanfaatkan integrasi kontrol sumber dari Fabric.
- Selesaikan skenario konversi database Fabric SQL menjadi kode ke dalam pengendalian sumber.
- Anda harus memiliki cabang di repositori kontrol sumber dengan proyek SQL dan metadata objek Fabric.
- Di ruang kerja Fabric, buka panel kontrol sumber. Dari tab Cabang dari menu Kontrol sumber, pilih Keluar cabang ke ruang kerja baru.
- Tentukan nama cabang dan ruang kerja yang akan dibuat. Cabang dibuat di repositori kontrol sumber dan diisi dengan konten cabang yang berkomitmen yang terkait dengan ruang kerja tempat Anda bercabang. Ruang kerja dibuat dalam Fabric.
- Buka ruang kerja yang baru dibuat di Fabric. Saat pembuatan database selesai, database yang baru dibuat sekarang berisi objek yang ditentukan dalam repositori kode Anda. Jika Anda membuka editor kueri Fabric dan menavigasi di Object explorer, database Anda memiliki tabel baru (kosong) dan objek lainnya.
Gabungkan perubahan dari satu cabang ke cabang lainnya
Dalam skenario ini, Anda menggunakan repositori kontrol sumber untuk meninjau perubahan database sebelum tersedia untuk penyebaran. Skenario ini untuk pengembang yang bekerja di lingkungan tim dan menggunakan kontrol sumber untuk mengelola perubahan database mereka.
Buat dua ruang kerja dengan cabang terkait di repositori yang sama, seperti yang dijelaskan dalam skenario sebelumnya.
- Dengan database di cabang sekunder, buat perubahan pada objek database.
- Misalnya, ubah prosedur tersimpan yang sudah ada atau buat tabel baru.
- Periksa perubahan ini pada kontrol sumber dengan menggunakan tombol Terapkan pada panel kontrol sumber di Fabric.
- Di Azure DevOps atau GitHub, buat permintaan pull dari cabang sekunder ke cabang utama.
- Dalam permintaan pull, Anda dapat melihat perubahan dalam kode database antara ruang kerja utama dan ruang kerja sekunder.
- Setelah Anda menyelesaikan permintaan pull, kontrol sumber diperbarui, tetapi database di Fabric pada ruang kerja utama tidak diubah. Untuk mengubah database utama, perbarui ruang kerja utama dari kontrol sumber menggunakan tombol Perbarui pada panel kontrol sumber di Fabric.
Mengelola data statis dengan skrip pasca-penyebaran
Dalam skenario ini, Anda mengontrol baris dalam tabel pencarian di database Anda dengan kontrol sumber. Kemampuan yang memungkinkan fungsionalitas ini, skrip pra-penyebaran, dan pasca-penyebaran, juga berlaku untuk alur penyebaran, sehingga Anda dapat menggunakan skrip yang sama untuk mengelola data statis dalam kedua skenario.
Dari database SQL di Fabric yang terhubung ke kontrol sumber, identifikasi atau buat tabel yang ingin Anda kelola data statisnya. Misalnya, Anda mungkin memiliki
dbo.Colorstabel yang digunakan oleh aplikasi Anda dan memiliki sekumpulan nilai yang diketahui yang tidak sering berubah.Buat Kueri baru di editor database SQL di Fabric. Di editor kueri, tambahkan
MERGEpernyataan untuk mengelola kontenColorstabel. Contohnya:MERGE dbo.Colors AS target USING (VALUES (1, 'Red'), (2, 'Green'), (3, 'Blue') ) AS source (Id, Name) ON target.Id = source.Id WHEN MATCHED THEN UPDATE SET Name = source.Name WHEN NOT MATCHED BY TARGET THEN INSERT (Id, Name) VALUES (source.Id, source.Name) WHEN NOT MATCHED BY SOURCE THEN DELETE;Ganti nama kueri menjadi
Post-Deployment-StaticData.sqldan pindahkan ke Kueri Bersama.Setelah berada di Kueri Bersama, pilih menu ... untuk kueri dan pilih Atur sebagai Skrip Pasca-penyebaran.
Kueri ini secara otomatis berjalan sebagai bagian dari pembaruan apa pun dari kontrol sumber atau penyebaran alur penyebaran, sehingga Anda dapat mengelola data statis dalam Colors tabel dengan menggunakan kontrol sumber. Anda dapat mengedit kueri di editor kueri Fabric dan menerapkan perubahan pada kontrol sumber untuk mengelola perubahan pada data statis dari waktu ke waktu. Selain itu, karena skrip pra-penyebaran dan pasca-penyebaran disertakan dalam proyek SQL, Anda juga dapat mengedit kueri dari komputer lokal Anda dengan menggunakan Visual Studio Code atau alat proyek SQL lainnya, lalu menerapkan perubahan tersebut ke kontrol sumber. Pelajari selengkapnya tentang skrip pra-penyebaran dan pasca-penyebaran dalam dokumentasi proyek SQL.