Ekstensi Proyek SQL Database

Ekstensi Proyek SQL Database adalah ekstensi Azure Data Studio dan Visual Studio Code untuk mengembangkan database SQL di lingkungan pengembangan berbasis proyek. Database yang kompatibel termasuk SQL Server, Azure SQL Database, Azure SQL Managed Instance, dan Azure Synapse SQL. Proyek SQL adalah representasi lokal objek SQL yang terdiri dari skema untuk database tunggal, seperti tabel, prosedur tersimpan, atau fungsi. Saat proyek SQL Database dibangun, artefak output adalah file .dacpac . Database baru dan yang sudah ada dapat diperbarui agar sesuai dengan konten .dacpac dengan menerbitkan proyek SQL Database dengan ekstensi Proyek SQL Database atau dengan menerbitkan .dacpac dengan antarmuka baris perintah SqlPackage.

Summary of SQL Database Projects containing pre-deployment and post-deployment scripts as well as database objects.

Fitur ekstensi

Ekstensi Proyek SQL Database menyediakan fitur berikut:

  • Buat proyek kosong baru.
  • Buat proyek baru dari database yang tersambung.
  • Buka proyek yang sebelumnya dibuat di Azure Data Studio, Visual Studio Code , atau di SQL Server Data Tools.
  • Edit proyek dengan menambahkan atau menghapus objek (tabel, tampilan, prosedur tersimpan) atau skrip kustom dalam proyek.
  • Atur file/skrip dalam folder.
  • Tambahkan referensi ke database sistem atau dacpac pengguna.
  • Bangun satu proyek.
  • Sebarkan satu proyek.
  • Muat detail koneksi (autentikasi SQL Windows) dan variabel SQLCMD dari profil penyebaran.

Fitur berikut dalam ekstensi Proyek SQL Database saat ini dalam pratinjau:

Tonton video singkat 10 menit ini untuk pengenalan ekstensi Proyek SQL Database di Azure Data Studio:

Instal

Anda dapat menginstal ekstensi Proyek SQL Database di Azure Data Studio dan Visual Studio Code.

Azure Data Studio

Untuk menginstal ekstensi Proyek SQL Database di Azure Data Studio, ikuti langkah-langkah berikut:

  1. Buka manajer ekstensi untuk mengakses ekstensi yang tersedia. Untuk melakukannya, pilih ikon ekstensi atau pilih Ekstensi di menu Tampilan .

  2. Identifikasi ekstensi Proyek SQL Database dengan mengetikkan semua atau sebagian nama di kotak pencarian ekstensi. Pilih ekstensi yang tersedia untuk melihat detailnya.

    Screenshot of Azure Data Studio, Install extension.

  3. Pilih ekstensi yang Anda inginkan dan pilih untuk Menginstalnya .

  4. Pilih Muat Ulang untuk mengaktifkan ekstensi (hanya diperlukan saat pertama kali Anda menginstal ekstensi).

  5. Pilih ikon Proyek dari bilah aktivitas.

Catatan

  • Disarankan untuk menginstal ekstensi Schema Compare bersama ekstensi Proyek SQL Database untuk fungsionalitas penuh.

Visual Studio Code

Ekstensi Proyek SQL Database diinstal dengan ekstensi mssql untuk Visual Studio Code.

Dependensi

Ekstensi Proyek SQL Database memiliki dependensi pada .NET SDK (diperlukan) dan AutoRest.Sql (opsional).

.NET SDK

.NET SDK diperlukan untuk fungsionalitas build proyek dan Anda diminta untuk menginstal .NET SDK jika versi yang didukung tidak dapat dideteksi oleh ekstensi. .NET SDK dapat diunduh dan diinstal untuk Windows, macOS, dan Linux.

Jika Anda ingin memeriksa versi dotnet SDK yang terinstal saat ini, buka terminal dan jalankan perintah berikut:

dotnet --list-sdks

Setelah menginstal .NET SDK, lingkungan Anda siap untuk menggunakan ekstensi Proyek SQL Database.

Masalah umum

Nuget.org hilang dari daftar sumber dapat mengakibatkan pesan kesalahan seperti:

  • error MSB4236: The SDK 'Microsoft.Build.Sql/0.1.9-preview' specified could not be found.
  • Unable to find package Microsoft.Build.Sql. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages

Untuk memeriksa apakah nuget.org terdaftar sebagai sumber, jalankan dotnet nuget list source dari baris perintah dan tinjau hasil untuk item yang [Enabled] merujuk nuget.org. Jika nuget.org tidak terdaftar sebagai sumber, jalankan dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org.

Versi .NET SDK yang tidak didukung dapat mengakibatkan pesan kesalahan seperti:

  • error MSB4018: The "SqlBuildTask" task failed unexpectedly.
  • error MSB4018: System.TypeInitializationException: The type initializer for 'SqlSchemaModelStaticState' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. [c:\Users\ .sqlproj]_ (di mana file yang tidak ada yang ditautkan memiliki tanda kurung siku penutup yang tidak cocok).

Untuk memaksa ekstensi Proyek SQL Database menggunakan versi v6.x dari .NET SDK saat beberapa versi diinstal, tambahkan file global.json ke folder yang berisi proyek SQL.

AutoRest.Sql

Ekstensi SQL untuk AutoRest secara otomatis diunduh dan digunakan oleh ekstensi Proyek SQL Database saat proyek SQL dihasilkan dari file spesifikasi OpenAPI.

Batasan

Saat ini, ekstensi Proyek SQL Database memiliki batasan berikut:

  • Tugas (build/publish) tidak ditentukan pengguna.
  • Objek SQLCLR dalam proyek tidak didukung.
  • Aturan analisis kode pada proyek saat ini tidak didukung.

Ruang kerja

Proyek database SQL terkandung dalam ruang kerja logis di Azure Data Studio dan Visual Studio Code. Ruang kerja mengelola folder yang terlihat di panel Explorer. Semua proyek SQL dalam folder yang terbuka di ruang kerja saat ini tersedia dalam tampilan Proyek SQL Database secara default.

Anda dapat menambahkan dan menghapus proyek secara manual dari ruang kerja melalui antarmuka di panel Proyek . Pengaturan untuk ruang kerja dapat diedit secara manual dalam .code-workspace file, jika perlu.

Dalam contoh .code-workspace file berikut, folders array mencantumkan semua folder yang disertakan dalam panel Explorer dan dataworkspace.excludedProjects array dalam mencantumkan settings semua proyek SQL yang dikecualikan dari panel Proyek .

{
	"folders": [
		{
			"path": "."
		},
		{
			"name": "WideWorldImportersDW",
			"path": "..\\WideWorldImportersDW"
		}
	],
	"settings": {
		"dataworkspace.excludedProjects": [
			"AdventureWorksLT.sqlproj"
		]
	}
}

Langkah berikutnya