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.
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:
- Database sistem SQL Server
master
- Database sistem SQL Server
msdb
- Database sistem Azure SQL Database
master
- Database sistem Azure Synapse Analytics
master
- Database sistem kumpulan tanpa server Azure Synapse Analytics
master
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.
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.