Bagikan melalui


Gambaran umum referensi paket proyek SQL

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Referensi paket dalam proyek SQL memungkinkan Anda mereferensikan objek database dari proyek lain atau paket NuGet. Objek database yang ditambahkan ke proyek melalui referensi paket dapat menjadi bagian dari database yang sama, database yang berbeda di server yang sama, atau database yang berbeda di server yang berbeda.

Catatan

Referensi paket adalah metode yang direkomendasikan untuk mereferensikan objek database dalam pengembangan baru. Mereferensikan paket NuGet hanya didukung dalam proyek SQL gaya SDK (pratinjau).

Referensi paket objek database

Referensi paket adalah salah satu dari beberapa metode untuk menambahkan objek database ke proyek SQL sebagai referensi database. Referensi paket dapat berisi objek untuk database yang sama, database yang berbeda di server yang sama, atau database yang berbeda di server yang berbeda. Referensi paket dapat digunakan untuk memecah database menjadi proyek yang lebih kecil dan lebih mudah dikelola, yang dapat membantu mengurangi waktu yang diperlukan untuk membangun proyek selama pengembangan lokal berulang.

Cuplikan layar Contoh proyek SQL yang mereferensikan dua paket dan satu proyek untuk referensi database.

Sampel dan sintaks file proyek SQL

Referensi paket ditambahkan ke proyek SQL melalui entri dalam .sqlproj file, mirip dengan proyek C#. Ketika referensi paket adalah ke database yang berbeda di server yang sama, <DatabaseSqlCmdVariable> elemen disertakan dalam referensi paket. Ketika referensi paket adalah ke database yang berbeda di server yang berbeda, <ServerSqlCmdVariable> elemen juga disertakan dalam referensi paket. Referensi paket ke database yang sama tidak disertakan <ServerSqlCmdVariable> atau <DatabaseSqlCmdVariable> elemen.

Contoh berikut menyertakan referensi paket ke Contoso.AdventureWorks.SalesLT paket sebagai referensi database untuk database yang sama di mana objek dalam paket menjadi bagian dari model database dalam proyek SQL:

...
  <ItemGroup>
    <PackageReference Include="Contoso.AdventureWorks.SalesLT" Version="1.1.0" />
  </ItemGroup>
</Project>

Database sistem

Database sistem SQL (master, msdb) diterbitkan pada NuGet.org sebagai paket referensi database. Paket ini berisi skema untuk database sistem dan dapat digunakan sebagai referensi paket dalam proyek SQL. Paket database sistem diberi versi untuk menyelaraskan dengan versi SQL Server yang terkait dengannya. Misalnya, master paket database sistem untuk SQL Server 2022 adalah Microsoft.SqlServer.Dacpacs.Master versi 160.2.1 dan dapat ditambahkan ke proyek SQL sebagai referensi paket:

...
  <ItemGroup>
    <PackageReference Include="Microsoft.SqlServer.Dacpacs.Master" Version="160.2.1" />
  </ItemGroup>
</Project>

Perubahan versi minor mencerminkan perbaikan bug dan perubahan kecil pada skema dalam versi SQL Server.

Paket database sistem yang tersedia adalah:

Paket dacpac Paket NuGet

Paket referensi database adalah paket NuGet yang berisi .dacpac file. Paket NuGet dapat diterbitkan ke umpan NuGet, seperti Artefak Azure, untuk digunakan dalam proyek SQL. Membuat paket ini mengikuti proses yang sama dengan membuat paket NuGet untuk jenis proyek lainnya. Untuk informasi selengkapnya, lihat Membuat paket dengan dotnet CLI.

Cuplikan layar Ringkasan referensi paket untuk proses proyek SQL.

Untuk mengemas .sqlproj file sebagai paket NuGet, gunakan dotnet pack perintah dari baris perintah. Secara default, dotnet pack perintah membuat paket NuGet dari .sqlproj file di bin/Debug folder.

Metadata paket dapat ditentukan oleh properti di <PropertyGroup> dalam elemen dalam .sqlproj file. Misalnya, properti berikut menentukan ID paket, versi, deskripsi, penulis, dan perusahaan:

<PackageId>Contoso.AdventureWorks.SalesLT</PackageId>
<Version>1.0.0</Version>
<Description>AdventureWorks database SalesLT objects</Description>
<Authors>DevTeam</Authors>
<Company>Contoso Outdoors</Company>

File .nupkg yang dotnet pack dibuat oleh perintah dapat diterbitkan ke umpan NuGet untuk digunakan dalam proyek SQL. Objek database ini dapat dilihat oleh siapa saja yang memiliki akses ke paket, jadi pertimbangan harus dibuat untuk memilih lokasi umpan publik atau privat. Untuk informasi selengkapnya, lihat Hosting dengan umpan paket privat.