Bagikan melalui


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. Properti ini disimpan dalam file .sqlproj dan dapat diatur dengan mengedit file .sqlproj 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, perubahan pada opsi database diskrip berdasarkan nilai yang ditentukan dalam properti proyek dan nilai proyek default. Untuk mencegah opsi database dimodifikasi selama penerbitan, menggunakan alat seperti SqlPackage CLI atau Visual Studio, atur properti terbitkan ke ScriptDatabaseOptions ke false. Pengaturan ini juga dapat dimasukkan dalam profil penerbitan.

Properti proyek umum

Properti platform target menentukan versi SQL Server yang dituju oleh proyek. Properti DSP digunakan untuk mengatur platform target untuk proyek SQL. Informasi selengkapnya tentang platform target dapat ditemukan dalam artikel platform target .

Analisis kode dapat secara dramatis meningkatkan proses integrasi dan penyebaran berkelanjutan dengan menangkap potensi masalah di awal siklus hidup pengembangan. Pelajari selengkapnya tentang mengaktifkan analisis kode dan menyertakan aturan kustom dalam artikel analisis kode SQL.

Properti aplikasi lapisan data

Properti berikut digunakan untuk menentukan aplikasi tingkat data (DAC) yang dibuat saat proyek SQL dibangun.

  • 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.

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="1.0.0-rc1" />
  <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
AllowSnapshotIsolation ALLOW_SNAPSHOT_ISOLATION Pengaturan database, Operasional, Izinkan isolasi rekam jepret False {True|False}
AnsiNulls ANSI_NULLS Pengaturan database, perintah SET ANSI_NULLS True {True|False}
AnsiPadding ANSI_PADDING Pengaturan basis data, SET ANSI_PADDING True {True|False}
AnsiWarnings ANSI_WARNINGS Pengaturan Basis Data, SET ANSI_WARNINGS True {True|False}
ArithAbort ARITHABORT Pengaturan basis data, SET 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}
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}
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 basis data, 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}
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 konfigurasi database, SET NUMERIC_ROUNDABORT False {True|False}
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}
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}
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.