Properti proyek SQL

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceDatabase SQL di Microsoft Fabric

Selain konten file .sql individual, proyek database SQL berisi properti yang menentukan perilaku proyek dan pengaturan tingkat database. File .sqlproj menyimpan properti ini. Anda dapat mengatur properti ini dengan mengedit .sqlproj file secara langsung. Beberapa alat proyek SQL, seperti Visual Studio dan VS Code, menyediakan akses untuk mengedit beberapa atau banyak properti proyek di antarmuka pengguna grafis. Artikel ini menyediakan gambaran umum properti yang bisa Anda atur untuk proyek database SQL.

Properti proyek SQL yang umum digunakan meliputi:

Menonaktifkan perubahan opsi database

Selama penerbitan proyek SQL, skrip proses berubah menjadi opsi database berdasarkan nilai yang ditentukan dalam properti proyek dan nilai proyek default. Untuk mencegah opsi database dimodifikasi selama penerbitan, atur ScriptDatabaseOptions properti terbitkan ke false dengan menggunakan alat seperti SqlPackage CLI atau Visual Studio. Anda juga dapat menggabungkan pengaturan ini dalam profil penerbitan.

Properti proyek umum

Properti platform target menentukan versi SQL Server yang dituju oleh proyek. DSP Gunakan properti untuk mengatur platform target untuk proyek SQL. Untuk informasi selengkapnya, lihat artikel platform sasaran.

Analisis kode dapat secara dramatis meningkatkan proses integrasi dan penyebaran berkelanjutan dengan menangkap potensi masalah di awal siklus hidup pengembangan. Untuk informasi selengkapnya tentang mengaktifkan analisis kode dan menyertakan aturan kustom, lihat Analisis kode SQL untuk meningkatkan kualitas kode.

Properti aplikasi lapisan data

Gunakan properti berikut untuk menentukan aplikasi tingkat data (DAC) yang Anda buat saat membuat proyek SQL.

  • DacApplicationName: Nama aplikasi tingkat data .dacpac. Nilai defaultnya adalah nama proyek.
  • DacDescription: Deskripsi opsional dari aplikasi tingkat data .dacpac.
  • DacVersion: Versi aplikasi tingkat data .dacpac. Nilai defaultnya adalah 1.0.0.0.

Skema bawaan

Properti DefaultSchema mengatur skema default untuk proyek SQL. Properti ini berlaku untuk objek bernama yang terdiri dari satu bagian. Nilai defaultnya adalah dbo.

Peringatan T-SQL

Properti SuppressTSqlWarnings dan TreatTSqlWarningsAsErrors mengontrol bagaimana peringatan T-SQL ditangani selama build proyek. Selama build proyek, properti SuppressTSqlWarnings mengabaikan peringatan T-SQL, yang ditentukan sebagai daftar nomor kesalahan yang dipisahkan oleh koma.

Properti TreatTSqlWarningsAsErrors memperlakukan peringatan T-SQL sebagai kesalahan, menyebabkan peringatan T-SQL gagal dalam build. Nilai default untuk TreatTSqlWarningsAsErrors adalah False.

Peringatan pembaruan SDK

Microsoft. SDK proyek Build.Sql secara otomatis memeriksa versi baru SDK selama build proyek dan menampilkan peringatan jika versi yang lebih baru tersedia. Menjaga proyek tetap terbarui dengan SDK terbaru memastikan bahwa Anda memiliki akses ke fitur dan peningkatan terbaru, termasuk perbaikan bug dan penambahan sintaksis. Untuk menonaktifkan perilaku ini, atur properti ke SkipCheckForNewSDKVersiontrue.

Contoh penggunaan properti proyek

Contoh berikut menunjukkan cara mengatur properti CompatibilityMode, IsChangeTrackingOn, dan TreatTSqlWarningsAsErrors dalam file proyek SQL. Properti CompatibilityMode diatur ke 130, properti IsChangeTrackingOn diatur ke True, dan properti TreatTSqlWarningsAsErrors diatur ke True. Properti TreatSqlWarningsAsErrors hanya diatur ke True pada konfigurasi build Release.

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build">
  <Sdk Name="Microsoft.Build.Sql" Version="2.2.0" />
  <PropertyGroup>
    <Name>AdventureWorks</Name>
    <DSP>Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider</DSP>
    <ModelCollation>1033, CI</ModelCollation>
    <ProjectGuid>{00000000-0000-0000-0000-000000000000}</ProjectGuid>
    <RunSqlCodeAnalysis>true</RunSqlCodeAnalysis>
    <CompatibilityMode>130</CompatibilityMode>
    <IsChangeTrackingOn>True</IsChangeTrackingOn>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)'=='Release'">
    <TreatTSqlWarningsAsErrors>True</TreatTSqlWarningsAsErrors>
  </PropertyGroup>
</Project>

Semua properti proyek

Beberapa properti proyek dikaitkan dengan opsi database yang hanya berlaku untuk database SQL Server atau versi SQL Server tertentu. Sebelum menyertakan properti proyek dalam proyek Anda, tinjau dokumentasi terkait untuk opsi database untuk memahami perilaku persyaratan properti dan database.

Property opsi DATABASE SET Label antarmuka pengguna Nilai default proyek SQL Nilai yang diizinkan
PemulihanDatabaseDipercepat ACCELERATED_DATABASE_RECOVERY Pengaturan database, Operasional, Pemulihan database dipercepat False {True|False}5
AllowSnapshotIsolation ALLOW_SNAPSHOT_ISOLATION Pengaturan database, Operasional, Izinkan isolasi rekam jepret False {True|False}
AnsiNullDefault ANSI_NULL_DEFAULT Pengaturan basis data, SET ANSI_NULL_DEFAULT True {True|False}
AnsiNulls ANSI_NULLS Pengaturan database, SET ANSI_NULLS True {True|False}
AnsiPadding ANSI_PADDING Pengaturan database, SET ANSI_PADDING True {True|False}
AnsiWarnings ANSI_WARNINGS Pengaturan database, SET ANSI_WARNINGS True {True|False}
ArithAbort ARITHABORT Pengaturan database, SETSET ARITHABORT True {True|False}
AutoClose AUTO_CLOSE Pengaturan database, Operasional, Tutup otomatis False {True|False}
AutoCreateStatistics AUTO_CREATE_STATISTICS Pengaturan database, Operasional, Pembuatan statistik otomatis True {True|False}
AutoCreateStatisticsIncremental AUTO_CREATE_STATISTICS(INCREMENTAL) Pengaturan basis data, Pengoperasian, Buat tambahan otomatis False {True|False}
AutomaticIndexCompaction AUTOMATIC_INDEX_COMPACTION Pengaturan database, Operasional, Pemadatan indeks otomatis False {True|False}
AutoShrink AUTO_SHRINK Pengaturan database, Operasional, Penyusutan otomatis False {True|False}
AutoUpdateStatistics AUTO_UPDATE_STATISTICS Pengaturan database, Statistik operasional, Pembaruan otomatis True {True|False}
AutoUpdateStatisticsAsynchronously AUTO_UPDATE_STATISTICS_ASYNC Pengaturan database, Operasional, Statistik pembaruan otomatis secara asinkron False {True|False}
CatalogCollation CATALOG_COLLATION 4 Pengaturan basis data, Kolasi katalog {Database_Default|Latin1_General_100_CI_AS_KS_WS_SC|SQL_Latin1_General_CP1_CI_AS}
ChangeTrackingRetentionPeriod CHANGE_RETENTION Pengaturan database, Operasional, Ubah periode retensi pelacakan 2 {integer}
ChangeTrackingRetentionUnit CHANGE_RETENTION Pengaturan database, Operasional, Ubah periode retensi pelacakan MINUTES {DAYS|HOURS|MINUTES}
CloseCursorOnCommitEnabled CURSOR_CLOSE_ON_COMMIT Pengaturan database, Operasional, Tutup kursor saat komit diaktifkan False {True|False}
CompatibilityMode COMPATIBILITY_LEVEL Pengaturan database, Tingkat kompatibilitas {100|110|120|130|140|150|160|170}1
ConcatNullYieldsNull CONCAT_NULL_YIELDS_NULL Pengaturan database, SET CONCAT_NULL_YIELDS_NULL True {True|False}
Containment CONTAINMENT Pengaturan database, Pembatasan NONE {NONE|PARTIAL}
DacApplicationName Properti aplikasi tingkat data (.dacpac), nama Nama proyek {string}
DacDescription Aplikasi berjenjang data (.dacpac) sifat, deskripsi {string}
DacVersion Properti Aplikasi Lapisan Data (.dacpac), versi 1.0.0.0 {nomor versi semantik}
DatabaseAccess db_user_access_option Pengaturan Database, Akses Database MULTI_USER {MULTI_USER|SINGLE_USER|RESTRICTED_USER}
DatabaseChaining DB_CHAINING Konfigurasi database, Rantai database False {True|False}
DatabaseDefaultFulltextLanguage DEFAULT_FULLTEXT_LANGUAGE Pengaturan database, Bahasa teks lengkap default 1033 {integer id bahasa}
DatabaseDefaultLanguage DEFAULT_LANGUAGE Pengaturan database, Bahasa default 1033 {integer id bahasa}
DatabaseState db_state_option Pengaturan Database, Status Database ONLINE {ONLINE|OFFLINE}
Optimasi Korelasi Tanggal Aktif DATE_CORRELATION_OPTIMIZATION Pengaturan database, Operasional, Pengoptimalan korelasi tanggal False {True|False}
DbScopedConfigLegacyCardinalityEstimation LEGACY_CARDINALITY_ESTIMATION 2 Konfigurasi cakupan database, Penilaian kardinalitas lama Off {Off|On}
DbScopedConfigLegacyCardinalitySecondaryEstimation LEGACY_CARDINALITY_SECONDARY_ESTIMATION 2 Konfigurasi cakupan database, Estimasi kardinalitas warisan untuk sekunder Primary {Primary|Off|On}
DbScopedConfigParameterSniffing PARAMETER_SNIFFING 2 Konfigurasi lingkup basis data, Pemeriksaan parameter On {On|Off}
DbScopedConfigParameterSniffingSecondary PARAMETER_SNIFFING_SECONDARY 2 Konfigurasi cakupan database, Pemantauan parameter untuk database sekunder Primary {Primary|Off|On}
DbScopedConfigOptimizerHotfixes OPTIMIZER_HOTFIXES 2 Konfigurasi cakupan basis data, Pembaruan perbaikan pengoptimal kueri Off {Off|On}
DbScopedConfigOptimizerHotfixesSecondary OPTIMIZER_HOTFIXES_SECONDARY 2 Konfigurasi cakupan basis data, Perbaikan cepat pengoptimal kueri untuk server sekunder Primary {Primary|Off|On}
DbScopedConfigMaxDOP MAXDOP 2 Konfigurasi terlingkup database, Tingkat paralelisme maksimum 0 {integer}
DbScopedConfigMaxDOPSecondary MAXDOP_SECONDARY 2 Konfigurasi cakupan database, Tingkat paralelisme maksimum untuk sekunder {integer}
DbScopedConfigDWCompatibilityLevel DW_COMPATIBILITY_LEVEL 2 Konfigurasi dengan lingkup database, tingkat kompatibilitas DW 0 {0|10|20|30|40|50|9000}3
DefaultCollation COLLATE 4 Pengaturan Database, Kolasi Database SQL_Latin1_General_CP1_CI_AS Lihat nama pengurutan SQL Server untuk nilai yang valid.
DefaultCursor CURSOR_DEFAULT Pengaturan basis data, Operasional, Kursor default Local {Global|Local}
DefaultFilegroup Pengaturan database, Pengoperasian, Grup file bawaan PRIMARY {string}
DefaultFileStreamFilegroup Pengaturan database, Operasional, Grup file aliran file default {string}
DefaultSchema Pengaturan proyek umum, skema default dbo {string}
DelayedDurability DELAYED_DURABILITY Pengaturan Basis Data, Operasi, Ketahanan Transaksi yang Ditunda DISABLED {DISABLED|ALLOWED|FORCED}
DSP Platform target untuk proyek SQL Lihat platform target untuk nilai yang valid.
EnableFullTextSearch Pengaturan database, Aktifkan pencarian teks lengkap True {True|False}
FileStreamDirectoryName FILESTREAM(DIRECTORY_NAME) Pengaturan database, nama direktori FILESTREAM {string}
IsBrokerPriorityHonored HONOR_BROKER_PRIORITY Pengaturan database, Prioritas broker dipatuhi False {True|False}
IsChangeTrackingAutoCleanupOn CHANGE_TRACKING Pengaturan database, Operasional, Pembersihan otomatis untuk pelacakan perubahan True {True|False}
IsChangeTrackingOn CHANGE_TRACKING Pengaturan database, Operasional, Pelacakan perubahan False {True|False}
IsEncryptionOn ENCRYPTION Pengaturan database, Enkripsi diaktifkan False {True|False}
IsLedgerOn LEDGER 4 Pengaturan database, Aktifkan Ledger False {True|False}
IsNestedTriggersOn NESTED_TRIGGERS Pengaturan database, pemicu berlapis diaktifkan True {True|False}
IsTransformNoiseWordsOn TRANSFORM_NOISE_WORDS Pengaturan database, Mengubah kata-kata kebisingan False {True|False}
MemoryOptimizedElevateToSnapshot MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Pengaturan database, Pengoperasian, Optimalisasi memori untuk peningkatan cuplikan False {True|False}
ModelCollation Pengaturan proyek, Kolasi 1033,CI {integer id bahasa}, {CI|CS}
NonTransactedFileStreamAccess NON_TRANSACTED_ACCESS Pengaturan database, akses FILESTREAM tanpa transaksi OFF {OFF|READ_ONLY|FULL}
NumericRoundAbort NUMERIC_ROUNDABORT Pengaturan database, SET NUMERIC_ROUNDABORT False {True|False}
OptimizedLocking OPTIMIZED_LOCKING Pengaturan database, Operasional, Penguncian yang Dioptimisasi False {True|False}5
OutputPath Pengaturan build, Jalur keluaran bin\Debug dan bin\Release {string}
PageVerify PAGE_VERIFY Pengaturan database, Operasional, Verifikasi halaman NONE {NONE|TORN_PAGE_DETECTION|CHECKSUM}
Parameterization PARAMETERIZATION Pengaturan database, Parameterisasi SIMPLE {SIMPLE|FORCED}
QueryStoreCaptureMode QUERY_STORE(QUERY_CAPTURE_MODE) Pengaturan database, Operasional, Mode pengambilan penyimpanan kueri ALL {OFF|ALL|AUTO}
QueryStoreDesiredState QUERY_STORE(OPERATION_MODE) Pengaturan Basis Data, Operasional, Mode Operasi Penyimpanan Kueri OFF {OFF|READ_WRITE|READ_ONLY}
QueryStoreFlushInterval QUERY_STORE(DATA_FLUSH_INTERVAL_SECONDS) Pengaturan basis data, Operasional, Interval penyegaran data penyimpanan kueri (detik) 900 {integer}
QueryStoreIntervalLength QUERY_STORE(INTERVAL_LENGTH_MINUTES) Pengaturan database, Operasional, Panjang interval penyimpanan kueri (menit) 60 {integer}
QueryStoreMaxPlansPerQuery QUERY_STORE(MAX_PLANS_PER_QUERY) Pengaturan database, Operasional, Penyimpanan Kueri rencana maks per kueri 200 {integer}
QueryStoreMaxStorageSize QUERY_STORE(MAX_STORAGE_SIZE_MB) Pengaturan database, Operasional, Maksimum ukuran penyimpanan kueri (MB) 100 {integer}
QueryStoreStaleQueryThreshold QUERY_STORE(STALE_QUERY_THRESHOLD_DAYS) Pengaturan database, Operasional, Batas kedaluarsa kueri penyimpanan kueri (hari) 367 {integer}
QuotedIdentifier QUOTED_IDENTIFIER Pengaturan database, SET QUOTED_IDENTIFIER True {True|False}
ReadCommittedSnapshot READ_COMMITTED_SNAPSHOT Pengaturan database, Operasional, Baca rekam jepret yang diterapkan False {True|False}
Recovery RECOVERY Pengaturan Database, Operasional, Pemulihan FULL {FULL|SIMPLE|BULK_LOGGED}
RecursiveTriggersEnabled RECURSIVE_TRIGGERS Pengaturan database, Pemicu rekursif diaktifkan False {True|False}
ServiceBrokerOption SERVICE_BROKER Pengaturan database, Opsi broker layanan DisableBroker {DisableBroker|EnableBroker|NewBroker|ErrorBrokerConversations}
SkipCheckForNewSDKVersion Setelan build, Lewati pemeriksaan untuk versi SDK baru False {True|False}
Pencatatan Log Tambahan Aktif SUPPLEMENTAL_LOGGING Pengaturan database, Operasional, Pengelogan tambahan False {True|False}
SuppressTSqlWarnings Pengaturan build, Sembunyikan peringatan T-SQL (daftar kode peringatan T-SQL yang dipisahkan koma) {string}
TargetRecoveryTimePeriod Pengaturan database, Operasional, waktu pemulihan target (detik) Menentukan frekuensi titik pemeriksaan tidak langsung berdasarkan per database. 60 {integer}
TargetRecoveryTimeUnit Pengaturan database, Operasi, waktu pemulihan yang ditargetkan SECONDS {MINUTES|SECONDS}
TemporalHistoryRetentionEnabled TEMPORAL_HISTORY_RETENTION Pengaturan database, Operasional, Retensi riwayat temporal True {True|False}
TreatTSqlWarningsAsErrors Pengaturan build, Anggap peringatan T-SQL sebagai kesalahan False {True|False}
Trustworthy TRUSTWORTHY Pengaturan database, Dapat Dipercaya False {True|False}
TwoDigitYearCutoff TWO_DIGIT_YEAR_CUTOFF Pengaturan database, Batasan tahun dengan dua digit 2049 {integer}
UpdateOptions db_update_option Pengaturan database, Opsi pembaruan READ_WRITE {READ_WRITE|READ_ONLY}
ValidateCasingOnIdentifiers Pengaturan proyek umum, validasi penulisan huruf pengidentifikasi True {True|False}
  1. Nilai default berbeda berdasarkan edisi mesin dan pengaturan server.
  2. Opsi konfigurasi berlingkup Database.
  3. AUTO diatur dengan nilai 0.
  4. Berlaku sebagai opsi CREATE DATABASE saja.
  5. Tidak berlaku untuk Azure SQL Database, di mana opsi selalu diaktifkan.