Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Database 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:
- Target platform (DSP)
- Analisis kode
- DacApplicationName dan DacVersion
- Skema default
- TreatTSqlWarningsAsErrors
- Peringatan pembaruan SDK
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 adalah1.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} |
- Nilai default berbeda berdasarkan edisi mesin dan pengaturan server.
- Opsi konfigurasi berlingkup Database.
-
AUTOdiatur dengan nilai 0. - Berlaku sebagai opsi
CREATE DATABASEsaja. - Tidak berlaku untuk Azure SQL Database, di mana opsi selalu diaktifkan.