Mengembangkan proyek gudang di Visual Studio Code

Berlaku untuk:✅ Gudang di Microsoft Fabric

Pelajari cara menyiapkan proyek database untuk Fabric Data Warehouse di Visual Studio Code. Anda membuat proyek baru, mendefinisikan objek skema, membangun dan memvalidasi proyek, lalu mempublikasikannya ke gudang Anda.

Penting

Fitur ini sedang dalam tahap pratinjau.

Prasyarat

Sebelum memulai, pastikan Anda:

  • Dapatkan akses ke item Gudang yang ada dalam ruang kerja Fabric dengan hak akses Kontributor atau lebih tinggi.
  • Instal Visual Studio Code di stasiun kerja Anda.
  • Instal SDK .NET untuk membangun dan menerbitkan proyek database.
  • Instal dua ekstensi Visual Studio Code: SQL Database Projects dan SQL Server (mssql).
    • Anda dapat menginstal ekstensi yang diperlukan langsung dari dalam Visual Studio Code marketplace dengan mencari "Proyek Database SQL" atau "SQL Server (mssql)".

Membuat proyek database baru

Anda dapat membuat proyek basis data dari awal atau dari gudang yang sudah ada.

Opsi 1: Buat proyek database baru dari Palet Perintah di Visual Studio Code

  1. Buka Visual Studio Code.

  2. Buka Palet Perintah (Ctrl+Shift+P atau Cmd+Shift+P di Mac).

  3. Cari Proyek Basis Data: Baru.

  4. Pilih Jenis Proyek Data sebagai SQL Server Database.

  5. Pilih nama proyek dan pilih lokasi folder lokal.

  6. Pilih Synapse Data Warehouse di Microsoft Fabric sebagai platform target.

  7. Saat diminta, pilih Ya (disarankan) untuk proyek gaya SDK.

    Penting

    Hanya proyek gaya SDK yang didukung untuk Fabric Data Warehouse.

  8. Pilih Ya untuk pertanyaan Apakah Anda ingin mengonfigurasi build proyek SQL sebagai konfigurasi build default untuk folder ini?

  9. Pilih Ya untuk mempercayai penulis file dalam folder ini.

Opsi 2: Buat proyek database baru dari ekstensi Proyek Database

  1. Di Visual Studio Code, pilih ikon ekstensi Database Projects dari bilah Aktivitas.

  2. Di panel Proyek Database , pilih Buat baru.

    Screenshot dari Visual Studio Code memperlihatkan panel ekstensi Proyek Database dan tombol Buat baru.

  3. Pilih Jenis Proyek Data sebagai SQL Server Database.

  4. Pilih nama proyek dan pilih lokasi folder lokal.

  5. Pilih Synapse Data Warehouse di Microsoft Fabric sebagai platform target.

  6. Saat diminta, pilih Ya (disarankan) untuk proyek gaya SDK. Hanya proyek gaya SDK yang didukung untuk Fabric Data Warehouse.

  7. Pilih Ya untuk pertanyaan Apakah Anda ingin mengonfigurasi build proyek SQL sebagai konfigurasi build default untuk folder ini?

  8. Pilih Ya untuk mempercayai penulis file dalam folder ini.

Opsi 3: Membuat proyek database dari gudang yang sudah ada

  1. Pertama, buat profil koneksi baru untuk gudang Anda di Visual Studio Code.

    1. Pilih ekstensi SQL Server di Visual Studio Code dari bilah Aktivitas.
    2. Masukkan nama profil. Pilih Parameter.
    3. Masukkan nama server. Di portal Fabric, di Pengaturan gudang Anda, pilih titik akhir SQL, dan salin string yang disediakan. Nama server ini untuk gudang Anda dan berbeda dari endpoint SQL analytics. Rutenya terlihat seperti <server unique ID>.datawarehouse.fabric.microsoft.com.
    4. Untuk jenis Authentication, gunakan Microsoft Entra ID - Universal dengan dukungan MFA. Autentikasikan dengan Microsoft Entra ID Anda.
    5. Berikan informasi lain sebagai default atau diinginkan, lalu pilih Hubungkan.
  2. Di Visual Studio Code, pilih ikon ekstensi Database Projects dari Bilah Aktivitas.

  3. Pilih tombol ... opsi dari panel Proyek Database dan pilih opsi Buat Proyek Dari Database .

    Screenshot dari Visual Studio Code memperlihatkan opsi Buat Proyek dari Database.

  4. Pilih gudang Anda dari profil koneksi yang ada.

  5. Masukkan nama proyek dan pilih folder proyek di workstation Anda.

  6. Untuk struktur folder, pilih Skema/Jenis Objek (disarankan).

  7. Untuk Sertakan izin dalam proyek, pilih Tidak (default).

  8. Untuk proyek bergaya SDK, pilih Ya (disarankan).

  9. Pilih Ya untuk pertanyaan Apakah Anda ingin mengonfigurasi build proyek SQL sebagai konfigurasi build default untuk folder ini?

  10. Visual Studio Code mengekstrak file proyek dari proyek gudang.

    Screenshot dari Visual Studio Code yang memperlihatkan pemberitahuan kemajuan ekstraksi file proyek.

  11. Setelah ekstraksi berhasil, Anda akan melihat notifikasi berikut: "Ekstrak file proyek: Berhasil. Selesai".

  12. Pilih Ya untuk mempercayai penulis file dalam folder ini.

Proyek database baru untuk gudang Anda

Proyek database baru untuk gudang Anda ditampilkan di menu Proyek SQL Database.

Screenshot dari Visual Studio Code memperlihatkan proyek database baru untuk AdventureWorksDW2022.

Struktur proyek Anda terlihat seperti ini:

 | Project Name
 ├── Database References
 ├── SQLCMD Variables
 ├── .vscode/
 └── schema/
     ├── Functions
     ├── Tables
     └── Views

Mengonfigurasi proyek database

  1. Klik kanan pada proyek dan pilih Edit File .sqlproj.

    Screenshot dari Visual Studio Code dan menu konteks proyek database. Opsi Edit File sqlproj disorot.

  2. Verifikasi file berisi versi terbaru dari Microsoft. Build.Sql SDK. Misalnya, ubah versi untuk Microsoft.Build.Sql menjadi 2.2.0 di file .sqlproj.

       <Sdk Name="Microsoft.Build.Sql" Version="2.2.0" />
    
  3. Verifikasi versi terbaru Microsoft.SqlServer.Dacpacs.FabricDw, dan tambahkan referensi di dalam simpul Project/ItemGroup XML. Contohnya:

       <PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.2" />
    

    Ini adalah bagaimana proyek database Anda untuk gudang akan terlihat seperti setelah pembaruan.

     <?xml version="1.0" encoding="utf-8"?>
     <Project DefaultTargets="Build">
       <Sdk Name="Microsoft.Build.Sql" Version="2.2.0" />
       <PropertyGroup>
         <Name>DatabaseProject715wh</Name>
         <ProjectGuid>{2E278BCC-F118-4DDB-9255-94697F2930B4}</ProjectGuid>
         <DSP>Microsoft.Data.Tools.Schema.Sql.SqlDwUnifiedDatabaseSchemaProvider</DSP>
         <ModelCollation>1033, CI</ModelCollation>
       </PropertyGroup>
       <ItemGroup>
         <None Include=".vscode\tasks.json" />
         <PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.2" />
       </ItemGroup>
       <Target Name="BeforeBuild">
         <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json" />
       </Target>
     </Project>
    
  4. Simpan file Anda .sqlproj . Pada perintah untuk memuat ulang proyek database Anda, pilih Ya.

Penting

Tim Fabric Data Warehouse sering merilis versi baru paket NuGet. Karena nilai versi default dalam .sqlproj file dapat berubah seiring waktu, perbarui di proyek lokal Anda agar tetap selaras dengan versi terbaru yang tersedia dari NuGet untuk Microsoft. SqlServer.Dacpacs.FabricDw.

Menambahkan atau memperbarui objek database

Anda dapat menentukan atau mengubah objek database seperti tabel, tampilan, prosedur tersimpan, dan fungsi dalam proyek gudang Anda.

Di bawah folder untuk skema, misalnya dbo, tambahkan atau hapus atau buat perubahan pada definisi T-SQL objek di gudang Anda. Untuk mengubah objek yang ada, buka file yang .sql sesuai dan perbarui definisi sesuai kebutuhan.

Saat Anda membuat proyek, semua objek baru dan yang diperbarui divalidasi dan disertakan dalam file dacpac yang dihasilkan dalam {project folder location}/bin/debug/{project name}.dacpac file.

Perubahan yang dilakukan di sini hanya berlaku untuk proyek database, dan tidak akan muncul dalam Microsoft Fabric hingga Anda Build dan Publish proyek Anda.

Membangun dan memvalidasi proyek

  1. Buka proyek basis data jika belum terbuka.

  2. Klik kanan proyek dan pilih Build untuk membangun proyek database.

    Cuplikan layar dari Visual Studio Code memperlihatkan opsi untuk membangun proyek basis data.

  3. Penyusunan harus berhasil. Perbaiki kesalahan apa pun berdasarkan pesan yang diberikan dalam output event build.

Nota

Saat ini, terminal default Visual Studio Code Anda harus menggunakan PowerShell agar proses pembangunan di ekstensi Database Projects berhasil. Di Palet Perintah, pilih Terminal: Pilih Profil Default, lalu pilih PowerShell.

Terbitkan ke Fabric Data Warehouse

Setelah mengompilasi proyek Anda, terbitkan ke repositori target Anda. Penerbitan membuat skrip untuk menyelesaikan perbedaan antara proyek database dan gudang aktual, dan menjalankan skrip untuk membuat gudang cocok dengan proyek. Anda dapat menyebarkan model kompilasi dari skema gudang dalam file .dacpac ke gudang target.

  1. Klik kanan pada proyek dan pilih Terbitkan.

  2. Pilih Terbitkan ke server SQL yang sudah ada.

  3. Untuk Pilih terbitkan profil untuk dimuat, saat pertama kali Anda menerbitkan, pilih Jangan gunakan profil.

    • Simpan opsi untuk memublikasikan warehouse Anda ke profil publikasi. Notifikasi Visual Studio Code memberi Anda opsi untuk menyimpan opsi publikasi yang Anda gunakan ke file profil publikasi.
    • Gunakan kembali profil publikasi di masa depan saat Anda mempublikasikan proyek Anda ke gudang Anda. Anda mungkin memiliki opsi profil yang berbeda untuk gudang yang berbeda, atau untuk lingkungan yang berbeda di lingkungan pengembangan dev/test/acceptance/production Anda.
  4. Pilih profil koneksi Fabric Data Warehouse dari daftar.

  5. Pilih nama gudang target.

  6. Di opsi Pilih tindakan , Anda dapat Membuat Skrip untuk meninjau skrip sebelum menerbitkan, atau menerbitkan proyek ke gudang. - Saat pertama kali Anda ingin menerapkan perubahan, lakukan Generate Script dengan hati-hati dan tinjau T-SQL yang dihasilkan untuk diterapkan ke gudang target. Pembuatan skrip tidak membuat perubahan pada gudang target.

    • Jika Anda memilih Publish, proses akan menulis perubahan ke gudang target Anda.

    Screenshot dari Visual Studio Code memperlihatkan sebarkan dacpac: Sedang berlangsung notifikasi.

  7. Pada pemberitahuan Apakah Anda ingin menyimpan pengaturan di profil (.publish.xml)?, pilih Ya dan simpan pilihan profil publikasi Anda untuk kali berikutnya Anda perlu menerbitkan.

Pengaturan implementasi penting untuk proyek gudang data

Saat Anda menyebarkan proyek basis data ke Fabric Data Warehouse, beberapa pengaturan mengontrol perubahan skema dan dapat memengaruhi keamanan data. Gunakan dengan hati-hati.

  • BlockOnPossibleDataLoss

    • Apa fungsinya: Mencegah penyebaran jika ada risiko kehilangan data (misalnya, menghilangkan kolom atau tabel yang berisi data).
    • Rekomendasi: Selalu atur ke True dalam produksi untuk melindungi data penting.
    • Hati: Mengaturnya untuk False memungkinkan penyebaran meskipun data dapat hilang. Gunakan hanya di lingkungan terkontrol (misalnya, dev/test).
  • DropObjectsNotInSource

    • Apa fungsinya: Menghilangkan objek dalam database target yang tidak ada di sumber proyek.
    • Rekomendasi: Gunakan di lingkungan dev/test untuk membersihkan objek sisa.
    • Hati: Menggunakan DropObjectsNotInSource dalam produksi dapat menghapus objek dan data penting. Periksa kembali sebelum mengaktifkan.
  • PreDeploy untuk skrip pra-penyebaran

    • Fungsinya
      • Menjalankan skrip SQL kustom sebelum penerapan skema.
    • Penggunaan umum
      • Mengarsipkan atau mencadangkan data sebelum menghilangkan tabel
      • Menonaktifkan batasan atau pemicu untuk sementara
      • Membersihkan objek warisan
    • Perhatian
      • Pastikan skrip bersifat idempoten dan tidak menyebabkan perubahan skema yang bertentangan dengan penerapan.

Tip

Ketika proses deployment atau query bersifat idempotent, Anda dapat menjalankan perintah tersebut beberapa kali tanpa menyebabkan masalah logis atau kegagalan. Perintah idempotent juga ditulis sedemikian rupa sehingga dapat diterapkan ke beberapa basis data tanpa perlu menentukan statusnya sebelumnya.

  • PostDeploy untuk skrip pasca-penyebaran

    • Apa fungsinya: Menjalankan skrip SQL kustom setelah penyebaran skema.
    • Penggunaan umum:
      • Pencarian benih atau data referensi
      • Mengaktifkan kembali batasan atau pemicu
      • Riwayat penerapan log
    • Perhatian: Hindari operasi berat pada tabel besar di lingkungan produksi. Pastikan skrip dapat berjalan dengan aman beberapa kali jika diperlukan.

Penting

Selalu tinjau skrip dan pengaturan penyebaran sebelum menerbitkan. Uji di lingkungan pengembangan atau pengujian terlebih dahulu untuk mencegah kehilangan data yang tidak diinginkan. Untuk informasi dan contoh selengkapnya, lihat Skrip pra-penyebaran dan pasca-penyebaran untuk Fabric Data Warehouse.

Memverifikasi penerbitan

Sambungkan ke gudang data Anda dan buat skrip untuk objek yang berubah, atau verifikasi dengan menjalankan objek katalog sistem.