Udostępnij za pomocą


Właściwości projektów SQL

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Oprócz zawartości poszczególnych plików .sql projekty bazy danych SQL zawierają właściwości definiujące zachowanie projektu i ustawienia na poziomie bazy danych. Te właściwości są przechowywane w pliku .sqlproj i można je ustawić, edytując plik .sqlproj bezpośrednio. Niektóre narzędzia projektów SQL, takie jak Visual Studio i VS Code, zapewniają dostęp do edytowania kilku lub wielu właściwości projektu w graficznym interfejsie użytkownika. Ten artykuł zawiera omówienie właściwości, które można ustawić dla projektów bazy danych SQL.

Często używane właściwości projektów SQL obejmują:

Wyłączanie zmian opcji bazy danych

Podczas publikowania projektu SQL zmiany opcji bazy danych są skryptowane na podstawie wartości zdefiniowanych we właściwościach projektu i domyślnych wartościach projektu. Aby zapobiec modyfikacji opcji bazy danych podczas publikowania, użyj narzędzia, takiego jak SqlPackage CLI lub Visual Studio, ustaw właściwość publish na wartość fałsz ScriptDatabaseOptions. To ustawienie można również włączyć w profilu publikowania.

Typowe właściwości projektu

Właściwość platformy docelowej określa wersję programu SQL Server przeznaczoną dla projektu. Właściwość DSP służy do ustawiania platformy docelowej dla projektu SQL. Więcej informacji na temat platformy docelowej można znaleźć w artykule platformy docelowej.

Analiza kodu może znacznie poprawić proces ciągłej integracji i wdrażania, przechwytując potencjalne problemy na wczesnym etapie cyklu projektowania. Dowiedz się więcej o włączaniu analizy kodu i uwzględnianiu reguł niestandardowych w artykule o analizie kodu SQL.

Właściwości aplikacji warstwy danych

Następujące właściwości służą do definiowania aplikacji warstwy danych (DAC), która jest tworzona podczas kompilowania projektu SQL.

  • DacApplicationName: nazwa aplikacji warstwy danych .dacpac. Wartość domyślna to nazwa projektu.
  • DacDescription: opcjonalny opis aplikacji warstwy danych .dacpac.
  • DacVersion: wersja aplikacji warstwy danych .dacpac. Wartość domyślna to 1.0.0.0.

Schemat domyślny

Właściwość DefaultSchema ustawia domyślny schemat projektu SQL. Ta właściwość ma zastosowanie do jednoczęściowych obiektów nazwanych. Wartość domyślna to dbo.

Ostrzeżenia języka T-SQL

Właściwości SuppressTSqlWarnings i TreatTSqlWarningsAsErrors kontrolują sposób obsługi ostrzeżeń języka T-SQL podczas kompilacji projektu. Właściwość SuppressTSqlWarnings pomija ostrzeżenia języka T-SQL podczas kompilacji projektu określone jako rozdzielona przecinkami lista numerów błędów.

Właściwość TreatTSqlWarningsAsErrors traktuje ostrzeżenia języka T-SQL jako błędy, powodując niepowodzenie kompilacji wszelkie ostrzeżenia języka T-SQL. Wartość domyślna TreatTSqlWarningsAsErrors to False.

Przykładowe użycie właściwości projektu

W poniższym przykładzie pokazano, jak ustawić właściwości CompatibilityMode, IsChangeTrackingOni TreatTSqlWarningsAsErrors w pliku projektu SQL. Właściwość CompatibilityMode jest ustawiona na wartość 130, właściwość IsChangeTrackingOn jest ustawiona na wartość True, a właściwość TreatTSqlWarningsAsErrors jest ustawiona na wartość True. Właściwość TreatSqlWarningsAsErrors jest ustawiona tylko na wartość True w konfiguracji kompilacji 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>

Wszystkie właściwości projektu

Niektóre właściwości projektu są skojarzone z opcjami bazy danych, które mają zastosowanie tylko do baz danych programu SQL Server lub określonych wersji programu SQL Server. Przed dołączeniem właściwości projektu, przejrzyj skojarzoną dokumentację opcji bazy danych, aby zrozumieć zachowanie właściwości oraz wymagania bazy danych.

Property opcja DATABASE SET Etykieta interfejsu użytkownika Wartość domyślna projektu SQL Dozwolone wartości
AllowSnapshotIsolation ALLOW_SNAPSHOT_ISOLATION Ustawienia bazy danych, Operacyjne, Zezwalaj na izolację migawek False {True|False}
AnsiNulls ANSI_NULLS Ustawienia bazy danych, SET ANSI_NULLS True {True|False}
AnsiPadding ANSI_PADDING Ustawienia bazy danych, „SET ANSI_PADDING” True {True|False}
AnsiWarnings ANSI_WARNINGS Ustawienia bazy danych, SET ANSI_WARNINGS True {True|False}
ArithAbort ARITHABORT Ustawienia bazy danych, SET ARITHABORT True {True|False}
AutoClose AUTO_CLOSE Ustawienia bazy danych, Operacyjne, Automatyczne zamykanie False {True|False}
AutoCreateStatistics AUTO_CREATE_STATISTICS Ustawienia bazy danych, operacyjne, automatyczne tworzenie statystyk True {True|False}
AutoCreateStatisticsIncremental AUTO_CREATE_STATISTICS (INCREMENTAL) Ustawienia bazy danych, operacyjne ustawienia, automatyczne tworzenie przyrostowe False {True|False}
AutoShrink AUTO_SHRINK Ustawienia bazy danych, operacyjne, automatyczne zmniejszanie False {True|False}
AutoUpdateStatistics AUTO_UPDATE_STATISTICS Ustawienia bazy danych, operacyjne, automatyczne aktualizowanie statystyk True {True|False}
AutoUpdateStatisticsAsynchronously AUTO_UPDATE_STATISTICS_ASYNC Ustawienia bazy danych, operacyjne, automatyczne aktualizowanie statystyk asynchronicznie False {True|False}
ChangeTrackingRetentionPeriod CHANGE_RETENTION Ustawienia bazy danych, Operacyjne, Czas przechowywania danych śledzenia zmian 2 {integer}
ChangeTrackingRetentionUnit CHANGE_RETENTION Ustawienia bazy danych, Operacyjne, Czas przechowywania danych śledzenia zmian MINUTES {DAYS|HOURS|MINUTES}
CloseCursorOnCommitEnabled CURSOR_CLOSE_ON_COMMIT Ustawienia bazy danych, Operacyjne, Zamknij kursor przy włączonym zatwierdzeniu False {True|False}
CompatibilityMode COMPATIBILITY_LEVEL Ustawienia bazy danych, poziom zgodności {100|110|120|130|140|150|160|170}1
ConcatNullYieldsNull CONCAT_NULL_YIELDS_NULL Ustawienia konfiguracji bazy danych, SET CONCAT_NULL_YIELDS_NULL True {True|False}
Containment CONTAINMENT Ustawienia bazy danych, ograniczenie NONE {NONE|PARTIAL}
DacApplicationName Aplikacja warstwy danych (.dacpac) właściwości, nazwa Nazwa projektu {string}
DacDescription Aplikacja poziomu danych (.dacpac), właściwości i opis {string}
DacVersion Właściwości aplikacji warstwy danych (.dacpac), wersja 1.0.0.0 {semantyczny numer wersji}
DatabaseAccess db_user_access_option Ustawienia bazy danych, dostęp do bazy danych MULTI_USER {MULTI_USER|SINGLE_USER|RESTRICTED_USER}
DatabaseChaining DB_CHAINING Ustawienia bazy danych, tworzenie łańcuchów baz danych False {True|False}
DatabaseDefaultFulltextLanguage DEFAULT_FULLTEXT_LANGUAGE Ustawienia bazy danych, domyślny język pełnotekstowy 1033 {liczba całkowita identyfikator języka}
DatabaseDefaultLanguage DEFAULT_LANGUAGE Ustawienia bazy danych, język domyślny 1033 {liczba całkowita identyfikator języka}
DatabaseState db_state_option Ustawienia bazy danych, stan bazy danych ONLINE {ONLINE|OFFLINE}
DbScopedConfigLegacyCardinalityEstimation LEGACY_CARDINALITY_ESTIMATION 2 Konfiguracja w zakresie bazy danych, Szacowanie klasycznej kardynalności Off {Off|On}
DbScopedConfigLegacyCardinalitySecondaryEstimation LEGACY_CARDINALITY_SECONDARY_ESTIMATION 2 Konfiguracja w zakresie bazy danych, Szacowanie kardynalności w trybie zgodności wstecznej dla pomocniczej instancji Primary {Primary|Off|On}
DbScopedConfigParameterSniffing PARAMETER_SNIFFING 2 Konfiguracja w zakresie bazy danych, analiza parametrów On {On|Off}
DbScopedConfigParameterSniffingSecondary PARAMETER_SNIFFING_SECONDARY 2 Konfiguracja zakresu bazy danych, rozpoznawanie parametrów dla bazy pomocniczej Primary {Primary|Off|On}
DbScopedConfigOptimizerHotfixes OPTIMIZER_HOTFIXES 2 Konfiguracja obejmująca bazę danych, poprawki optymalizatora zapytań Off {Off|On}
DbScopedConfigOptimizerHotfixesSecondary OPTIMIZER_HOTFIXES_SECONDARY 2 Konfiguracja w zakresie bazy danych, poprawki optymalizatora zapytań dla instancji zapasowej. Primary {Primary|Off|On}
DbScopedConfigMaxDOP MAXDOP 2 Konfiguracja w zakresie bazy danych, Maksymalny stopień równoległości 0 {integer}
DbScopedConfigMaxDOPSecondary MAXDOP_SECONDARY 2 Konfiguracja w zakresie bazy danych, Maksymalny stopień równoległości dla pomocniczej instancji {integer}
DbScopedConfigDWCompatibilityLevel DW_COMPATIBILITY_LEVEL 2 Kontekstowa konfiguracja bazy danych, poziom zgodności DW 0 {0|10|20|30|40|50|9000}3
DefaultCollation COLLATE 4 Ustawienia bazy danych, sortowanie bazy danych SQL_Latin1_General_CP1_CI_AS Zobacz nazwę sortowania programu SQL Server, aby uzyskać prawidłowe wartości.
DefaultCursor CURSOR_DEFAULT Ustawienia bazy danych, operacyjne, kursor domyślny Local {Global|Local}
DefaultFilegroup Ustawienia bazy danych, operacyjna, domyślna grupa plików PRIMARY {string}
DefaultFileStreamFilegroup Ustawienia bazy danych, operacyjne, domyślna grupa plików filestream {string}
DefaultSchema Ogólne ustawienie projektu, domyślny schemat dbo {string}
DelayedDurability DELAYED_DURABILITY Ustawienia bazy danych, operacyjne, transakcje z opóźnioną trwałością DISABLED {DISABLED|ALLOWED|FORCED}
DSP Platforma docelowa dla projektu SQL Zobacz platformę docelową dla prawidłowych wartości.
EnableFullTextSearch Ustawienia bazy danych, Włączanie wyszukiwania pełnotekstowego True {True|False}
FileStreamDirectoryName FILESTREAM (DIRECTORY_NAME) Ustawienia bazy danych, nazwa katalogu FILESTREAM {string}
IsBrokerPriorityHonored HONOR_BROKER_PRIORITY Ustawienia bazy danych, priorytet brokera uwzględniony False {True|False}
IsChangeTrackingAutoCleanupOn CHANGE_TRACKING Ustawienia bazy danych, Operacyjne, Automatyczne czyszczenie śledzenia zmian True {True|False}
IsChangeTrackingOn CHANGE_TRACKING Ustawienia bazy danych, operacyjne, śledzenie zmian False {True|False}
IsEncryptionOn ENCRYPTION Ustawienia bazy danych, włączone szyfrowanie False {True|False}
IsLedgerOn LEDGER 4 Ustawienia bazy danych, Włączanie rejestru False {True|False}
IsNestedTriggersOn NESTED_TRIGGERS Ustawienia bazy danych, zagnieżdżone wyzwalacze włączone True {True|False}
IsTransformNoiseWordsOn TRANSFORM_NOISE_WORDS Ustawienia bazy danych, Konwersja słów szumowych False {True|False}
MemoryOptimizedElevateToSnapshot MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Ustawienia bazy danych, operacyjne, zoptymalizowane pod kątem pamięci, podniesione do poziomu migawek. False {True|False}
ModelCollation Ustawienia projektu, sortowanie 1033,CI {integer identyfikator języka}, {CI|CS}
NonTransactedFileStreamAccess NON_TRANSACTED_ACCESS Ustawienia bazy danych, dostęp bez transakcji FILESTREAM OFF {OFF|READ_ONLY|FULL}
NumericRoundAbort NUMERIC_ROUNDABORT Ustawienia bazy danych, SET NUMERIC_ROUNDABORT False {True|False}
OutputPath Ustawienia kompilacji, ścieżka wyjściowa bin\Debug i bin\Release {string}
PageVerify PAGE_VERIFY Ustawienia bazy danych, Operacyjne, Weryfikowanie strony NONE {NONE|TORN_PAGE_DETECTION|CHECKSUM}
Parameterization PARAMETERIZATION Ustawienia bazy danych, parametryzacja SIMPLE {SIMPLE|FORCED}
QueryStoreCaptureMode QUERY_STORE (QUERY_CAPTURE_MODE) Ustawienia bazy danych, Ustawienia operacyjne, tryb rejestrowania magazynu zapytań ALL {OFF|ALL|AUTO}
QueryStoreDesiredState QUERY_STORE (OPERATION_MODE) Ustawienia bazy danych, działanie, tryb działania magazynu zapytań OFF {OFF|READ_WRITE|READ_ONLY}
QueryStoreFlushInterval QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS) Ustawienia bazy danych, operacyjne, interwał opróżniania danych magazynu zapytań (w sekundach) 900 {integer}
QueryStoreIntervalLength QUERY_STORE (INTERVAL_LENGTH_MINUTES) Ustawienia bazy danych, operacyjne, długość interwału magazynu zapytań (w minutach) 60 {integer}
QueryStoreMaxPlansPerQuery QUERY_STORE (MAX_PLANS_PER_QUERY) Ustawienia bazy danych, Operacja, maksymalna liczba planów w repozytorium zapytań na jedno zapytanie 200 {integer}
QueryStoreMaxStorageSize QUERY_STORE (MAX_STORAGE_SIZE_MB) Ustawienia bazy danych, operacyjne, maksymalny rozmiar magazynu zapytań (MB) 100 {integer}
QueryStoreStaleQueryThreshold QUERY_STORE (STALE_QUERY_THRESHOLD_DAYS) Ustawienia bazy danych, operacyjne, próg nieaktualności zapytań w magazynie zapytań (dni) 367 {integer}
QuotedIdentifier QUOTED_IDENTIFIER Ustawienia bazy danych: SET QUOTED_IDENTIFIER True {True|False}
ReadCommittedSnapshot READ_COMMITTED_SNAPSHOT Ustawienia bazy danych, operacyjny, odczyt zatwierdzonej migawki False {True|False}
Recovery RECOVERY Ustawienia bazy danych, operacyjne, odzyskiwanie FULL {FULL|SIMPLE|BULK_LOGGED}
RecursiveTriggersEnabled RECURSIVE_TRIGGERS Ustawienia bazy danych, wyzwalacze cykliczne włączone False {True|False}
ServiceBrokerOption SERVICE_BROKER Ustawienia bazy danych, opcje brokera usług DisableBroker {DisableBroker|EnableBroker|NewBroker|ErrorBrokerConversations}
SuppressTSqlWarnings Ustawienia kompilacji, pomijanie ostrzeżeń języka T-SQL (rozdzielona przecinkami lista kodów ostrzegawczych języka T-SQL) {string}
TargetRecoveryTimePeriod Ustawienia bazy danych, operacyjny, docelowy czas odzyskiwania (w sekundach) Określa częstotliwość pośrednich punktów kontrolnych dla poszczególnych baz danych. 60 {integer}
TargetRecoveryTimeUnit Ustawienia bazy danych, operacyjny, docelowy czas odzyskiwania SECONDS {MINUTES|SECONDS}
TreatTSqlWarningsAsErrors Ustawienia kompilacji, traktuj ostrzeżenia języka T-SQL jako błędy False {True|False}
Trustworthy TRUSTWORTHY Ustawienia bazy danych, godne zaufania False {True|False}
TwoDigitYearCutoff TWO_DIGIT_YEAR_CUTOFF Ustawienia bazy danych, próg dwucyfrowego roku 2049 {integer}
UpdateOptions db_update_option Ustawienia bazy danych, Opcje aktualizacji READ_WRITE {READ_WRITE|READ_ONLY}
ValidateCasingOnIdentifiers Ogólna konfiguracja projektu, sprawdzanie wielkości liter identyfikatorów True {True|False}
  1. Wartość domyślna różni się w zależności od wersji silnika i ustawień serwera.
  2. Opcje konfiguracji w zakresie bazy danych.
  3. Funkcja AUTO jest ustawiana z wartością 0.
  4. Ma zastosowanie tylko jako opcja CREATE DATABASE.