Freigeben über


EIGENSCHAFTEN von SQL-Projekten

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzSQL-Datenbank in Microsoft Fabric

Neben dem Inhalt der einzelnen .sql Dateien enthalten SQL-Datenbankprojekte Eigenschaften, die das Verhalten und die Einstellungen auf Datenbankebene des Projekts definieren. Diese Eigenschaften werden in der .sqlproj Datei gespeichert und können durch direktes Bearbeiten der .sqlproj Datei festgelegt werden. Einige SQL-Projekttools, z. B. Visual Studio und VS Code, bieten Zugriff auf einige oder viele der Projekteigenschaften in einer grafischen Benutzeroberfläche. Dieser Artikel enthält eine Übersicht über die Eigenschaften, die Sie für SQL-Datenbankprojekte festlegen können.

Häufig verwendete SQL-Projekteigenschaften umfassen:

Datenbankoptionenänderungen deaktivieren

Während der Veröffentlichung eines SQL-Projekts werden Änderungen an den Datenbankoptionen basierend auf den in den Projekteigenschaften definierten Werten und den Standardprojektwerten geskriptet. Um zu verhindern, dass die Datenbankoptionen während der Veröffentlichung geändert werden, legen Sie mithilfe eines Tools wie SqlPackage CLI oder Visual Studio die Veröffentlichungseigenschaft auf ScriptDatabaseOptions "false" fest. Diese Einstellung kann auch in ein Veröffentlichungsprofil integriert werden.

Allgemeine Projekteigenschaften

Die Zielplattformeigenschaft gibt die Version von SQL Server an, auf die das Projekt ausgerichtet ist. Die DSP Eigenschaft wird verwendet, um die Zielplattform für das SQL-Projekt festzulegen. Weitere Informationen zur Zielplattform finden Sie im Zielplattformartikel .

Die Codeanalyse kann den kontinuierlichen Integrations- und Bereitstellungsprozess erheblich verbessern, indem potenzielle Probleme frühzeitig im Entwicklungslebenszyklus erfasst werden. Erfahren Sie mehr über das Aktivieren der Codeanalyse und das Einschließen von benutzerdefinierten Regeln im SQL-Codeanalyseartikel .

Eigenschaften der Datenebenenanwendung

Die folgenden Eigenschaften werden verwendet, um die Datenebenenanwendung (Data Tier Application, DAC) zu definieren, die beim Erstellen des SQL-Projekts erstellt wird.

  • DacApplicationName: Der Name der Datenebenenanwendung .dacpac. Der Standardwert ist der Projektname.
  • DacDescription: Eine optionale Beschreibung der Datenebenenanwendung .dacpac.
  • DacVersion: Die Version der Datenebenenanwendung .dacpac. Der Standardwert ist 1.0.0.0.

Standardschema

Die DefaultSchema Eigenschaft legt das Standardschema für das SQL-Projekt fest. Diese Eigenschaft gilt für einteilige benannte Objekte. Der Standardwert ist dbo.

T-SQL-Warnungen

Die SuppressTSqlWarnings- und TreatTSqlWarningsAsErrors-Eigenschaften steuern, wie T-SQL-Warnungen während des Projektbuilds behandelt werden. Die SuppressTSqlWarnings Eigenschaft unterdrückt T-SQL-Warnungen während des Projektbuilds, die als durch Trennzeichen getrennte Liste von Fehlernummern angegeben werden.

Die TreatTSqlWarningsAsErrors Eigenschaft behandelt T-SQL-Warnungen als Fehler, wodurch jegliche T-SQL-Warnungen den Build-Prozess fehlschlagen lassen. Der Standardwert für TreatTSqlWarningsAsErrors ist False.

Beispiel für die Verwendung von Projekteigenschaften

Das folgende Beispiel zeigt, wie die Eigenschaften CompatibilityMode, IsChangeTrackingOn und TreatTSqlWarningsAsErrors in einer SQL-Projektdatei festgelegt werden. Die CompatibilityMode Eigenschaft ist auf 130festgelegt, die IsChangeTrackingOn Eigenschaft auf True, und die TreatTSqlWarningsAsErrors Eigenschaft wird auf Truefestgelegt. Die Eigenschaft TreatSqlWarningsAsErrors wird nur für die True-Buildkonfiguration auf Release festgelegt.

<?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>

Alle Projekteigenschaften

Einige Projekteigenschaften sind Datenbankoptionen zugeordnet, die nur für SQL Server-Datenbanken oder bestimmte Versionen von SQL Server gelten. Bevor Sie eine Projekteigenschaft in Ihr Projekt einschließen, lesen Sie die zugehörige Dokumentation für die Datenbankoption, um das Verhalten der Eigenschaften- und Datenbankanforderungen zu verstehen.

Property Option DATABASE SET UI-Beschriftung SQL-Projektstandardwert Zulässige Werte
AllowSnapshotIsolation ALLOW_SNAPSHOT_ISOLATION Datenbankeinstellungen, Betriebsbereit, Momentaufnahmeisolation zulassen False {True|False}
AnsiNulls ANSI_NULLS Datenbankeinstellungen, SET-ANSI_NULLS True {True|False}
AnsiPadding ANSI_PADDING Datenbankeinstellungen, SET ANSI_PADDING True {True|False}
AnsiWarnings ANSI_WARNINGS Datenbankeinstellungen, SET ANSI_WARNINGS True {True|False}
ArithAbort ARITHABORT Datenbankeinstellungen, SET ARITHABORT True {True|False}
AutoClose AUTO_CLOSE Datenbankeinstellungen, Betriebsbereit, automatisches Schließen False {True|False}
AutoCreateStatistics AUTO_CREATE_STATISTICS Datenbankeinstellungen, betriebsbereit, Statistiken automatisch erstellen True {True|False}
AutoCreateStatisticsIncremental AUTO_CREATE_STATISTICS (INCREMENTAL) Datenbankeinstellungen, Betriebsbereit, Inkrementell automatisch generieren False {True|False}
AutoShrink AUTO_SHRINK Datenbankeinstellungen, Betriebsbereit, automatisch verkleinern False {True|False}
AutoUpdateStatistics AUTO_UPDATE_STATISTICS Datenbankeinstellungen, Betriebs-, Automatische Aktualisierungsstatistik True {True|False}
AutoUpdateStatisticsAsynchronously AUTO_UPDATE_STATISTICS_ASYNC Datenbankeinstellungen, betriebsbereit, Statistiken automatisch asynchron aktualisieren False {True|False}
ChangeTrackingRetentionPeriod CHANGE_RETENTION Datenbankeinstellungen, Betrieb, Aufbewahrungszeitraum für Änderungsverfolgung 2 {integer}
ChangeTrackingRetentionUnit CHANGE_RETENTION Datenbankeinstellungen, Betrieb, Aufbewahrungszeitraum für Änderungsverfolgung MINUTES {DAYS|HOURS|MINUTES}
CloseCursorOnCommitEnabled CURSOR_CLOSE_ON_COMMIT Datenbankeinstellungen, betriebsbereit, Schließen des Cursors nach dem Commit aktiviert False {True|False}
CompatibilityMode COMPATIBILITY_LEVEL Datenbankeinstellungen, Kompatibilitätsstufe {100|110|120|130|140|150|160|170}1
ConcatNullYieldsNull CONCAT_NULL_YIELDS_NULL Datenbankeinstellungen, SET CONCAT_NULL_YIELDS_NULL True {True|False}
Containment CONTAINMENT Datenbankeinstellungen, Eindämmung NONE {NONE|PARTIAL}
DacApplicationName Eigenschaften der Datenebenenanwendung (.dacpac), Name Der Projektname {string}
DacDescription Eigenschaften der Anwendung auf Datenebene (.dacpac), Beschreibung {string}
DacVersion Datenebenenanwendung (.dacpac) Eigenschaften, Version 1.0.0.0 {semantische Versionsnummer}
DatabaseAccess db_user_access_option Datenbankeinstellungen, Datenbankzugriff MULTI_USER {MULTI_USER|SINGLE_USER|RESTRICTED_USER}
DatabaseChaining DB_CHAINING Datenbankeinstellungen, Datenbankverkettung False {True|False}
DatabaseDefaultFulltextLanguage DEFAULT_FULLTEXT_LANGUAGE Datenbankeinstellungen, Standard-Volltextsprache 1033 {integer language id}
DatabaseDefaultLanguage DEFAULT_LANGUAGE Datenbankeinstellungen, Standardsprache 1033 {integer language id}
DatabaseState db_state_option Datenbankeinstellungen, Datenbankstatus ONLINE {ONLINE|OFFLINE}
DbScopedConfigLegacyCardinalityEstimation LEGACY_CARDINALITY_ESTIMATION 2 Datenbankweit gültige Konfiguration, Legacy-Kardinalitätsschätzung Off {Off|On}
DbScopedConfigLegacyCardinalitySecondaryEstimation LEGACY_CARDINALITY_SECONDARY_ESTIMATION 2 Datenbankweit gültige Konfiguration, Legacy-Kardinalitätsschätzung für sekundäres Objekt Primary {Primary|Off|On}
DbScopedConfigParameterSniffing PARAMETER_SNIFFING 2 Datenbankweit gültige Konfiguration, Parameterermittlung On {On|Off}
DbScopedConfigParameterSniffingSecondary PARAMETER_SNIFFING_SECONDARY 2 Datenbankweit gültige Konfiguration, Parameterermittlung für sekundäre Objekte Primary {Primary|Off|On}
DbScopedConfigOptimizerHotfixes OPTIMIZER_HOTFIXES 2 Datenbankbereichskonfiguration, Hotfixes für Abfrageoptimierer Off {Off|On}
DbScopedConfigOptimizerHotfixesSecondary OPTIMIZER_HOTFIXES_SECONDARY 2 Datenbankweit gültige Konfiguration, Hotfixes für Abfrageoptimierer für sekundäre Objekte Primary {Primary|Off|On}
DbScopedConfigMaxDOP MAXDOP 2 Datenbankbereichskonfiguration, Max. Parallelitätsgrad 0 {integer}
DbScopedConfigMaxDOPSecondary MAXDOP_SECONDARY 2 Datenbankweit gültige Konfiguration, Max. Grad an Parallelität in sekundärer Datenbank {integer}
DbScopedConfigDWCompatibilityLevel DW_COMPATIBILITY_LEVEL 2 Datenbankbereichskonfiguration, DW-Kompatibilitätsstufe 0 {0|10|20|30|40|50|9000}3
DefaultCollation COLLATE 4 Datenbankeinstellungen, Datenbanksortierung SQL_Latin1_General_CP1_CI_AS Siehe SQL Server-Sortierungsname für gültige Werte.
DefaultCursor CURSOR_DEFAULT Datenbankeinstellungen, Betriebsbereit, Standardcursor Local {Global|Local}
DefaultFilegroup Datenbankeinstellungen, Betriebsbereit, Standarddateigruppe PRIMARY {string}
DefaultFileStreamFilegroup Datenbankeinstellungen, Betriebsbereit, Standard-Filestream-Dateigruppe {string}
DefaultSchema Allgemeine Projekteinstellung, Standardschema dbo {string}
DelayedDurability DELAYED_DURABILITY Datenbankeinstellungen, Betrieb, Zeitverzögerte Dauerhaftigkeit von Transaktionen DISABLED {DISABLED|ALLOWED|FORCED}
DSP Die Zielplattform für das SQL-Projekt Gültige Werte finden Sie auf der Zielplattform .
EnableFullTextSearch Datenbankeinstellungen, Volltextsuche aktivieren True {True|False}
FileStreamDirectoryName FILESTREAM (DIRECTORY_NAME) Datenbankeinstellungen, DATEISTREAM-Verzeichnisname {string}
IsBrokerPriorityHonored HONOR_BROKER_PRIORITY Datenbankeinstellungen, Brokerpriorität gewürdigt False {True|False}
IsChangeTrackingAutoCleanupOn CHANGE_TRACKING Datenbanken, Betriebsbereit, Automatische Bereinigung der Änderungsnachverfolgung True {True|False}
IsChangeTrackingOn CHANGE_TRACKING Datenbankeinstellungen, Betrieb, Änderungsverfolgung False {True|False}
IsEncryptionOn ENCRYPTION Datenbankeinstellungen, Verschlüsselung aktiviert False {True|False}
IsLedgerOn LEDGER 4 Datenbankeinstellungen, Ledger aktivieren False {True|False}
IsNestedTriggersOn NESTED_TRIGGERS Datenbankeinstellungen, geschachtelte Trigger aktiviert True {True|False}
IsTransformNoiseWordsOn TRANSFORM_NOISE_WORDS Datenbankeinstellungen, Füllwörter transformieren False {True|False}
MemoryOptimizedElevateToSnapshot MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Datenbankeinstellungen, betriebsbereit, arbeitsspeicheroptimiertes Erhöhen auf Momentaufnahme False {True|False}
ModelCollation Projekteinstellungen, Sortierung 1033,CI {integer language id}, {CI|CS}
NonTransactedFileStreamAccess NON_TRANSACTED_ACCESS Datenbankeinstellungen, FILESTREAM nicht-transaktionaler Zugriff OFF {OFF|READ_ONLY|FULL}
NumericRoundAbort NUMERIC_ROUNDABORT Datenbankeinstellungen, SET NUMERIC_ROUNDABORT False {True|False}
OutputPath Buildeinstellungen, Ausgabepfad bin\Debug und bin\Release {string}
PageVerify PAGE_VERIFY Datenbankeinstellungen, Betriebsbereit, Seite überprüfen NONE {NONE|TORN_PAGE_DETECTION|CHECKSUM}
Parameterization PARAMETERIZATION Datenbankeinstellungen, Parameterisierung SIMPLE {SIMPLE|FORCED}
QueryStoreCaptureMode QUERY_STORE (QUERY_CAPTURE_MODE) Datenbankeinstellungen, Betriebsmodus, Abfragespeichererfassungsmodus ALL {OFF|ALL|AUTO}
QueryStoreDesiredState QUERY_STORE (OPERATION_MODE) Datenbankeinstellungen, Betriebsmodus, Abfragespeichermodus OFF {OFF|READ_WRITE|READ_ONLY}
QueryStoreFlushInterval QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS) Datenbankeinstellungen, Betriebs-, Abfragespeicher-Datenlöschintervall (Sekunden) 900 {integer}
QueryStoreIntervalLength QUERY_STORE (INTERVAL_LENGTH_MINUTES) Datenbankeinstellungen, Betriebs-, Abfragespeicher-Intervalllänge (Minuten) 60 {integer}
QueryStoreMaxPlansPerQuery QUERY_STORE (MAX_PLANS_PER_QUERY) Datenbankeinstellungen, Betriebsbereit, Max. Pläne pro Abfrage im Abfragespeicher 200 {integer}
QueryStoreMaxStorageSize QUERY_STORE (MAX_STORAGE_SIZE_MB) Datenbankeinstellungen, Betriebs-, Abfragespeicher-maximale Speichergröße (MB) 100 {integer}
QueryStoreStaleQueryThreshold QUERY_STORE (STALE_QUERY_THRESHOLD_DAYS) Datenbankeinstellungen, Betriebsbereit, Abfragespeicher-Schwellenwert für veraltete Abfragen (Tage) 367 {integer}
QuotedIdentifier QUOTED_IDENTIFIER Datenbankeinstellungen, SET QUOTED_IDENTIFIER True {True|False}
ReadCommittedSnapshot READ_COMMITTED_SNAPSHOT Datenbankeinstellungen, Betriebsbereit, READ COMMITTED-Momentaufnahme False {True|False}
Recovery RECOVERY Datenbankeinstellungen, Betriebsbereit, Wiederherstellung FULL {FULL|SIMPLE|BULK_LOGGED}
RecursiveTriggersEnabled RECURSIVE_TRIGGERS Datenbankeinstellungen, rekursive Trigger aktiviert False {True|False}
ServiceBrokerOption SERVICE_BROKER Datenbankeinstellungen, Dienstbrokeroptionen DisableBroker {DisableBroker|EnableBroker|NewBroker|ErrorBrokerConversations}
SuppressTSqlWarnings Buildeinstellungen, T-SQL-Warnungen unterdrücken (durch Trennzeichen getrennte Liste der T-SQL-Warnungscodes) {string}
TargetRecoveryTimePeriod Datenbankeinstellungen, Betriebsbereit, Zielwiederherstellungszeit (Sekunden) Gibt die Frequenz indirekter Prüfpunkte auf Basis einzelner Datenbanken an. 60 {integer}
TargetRecoveryTimeUnit Datenbankeinstellungen, betriebsbereit, Zielwiederherstellungszeit SECONDS {MINUTES|SECONDS}
TreatTSqlWarningsAsErrors Buildeinstellungen, T-SQL-Warnungen als Fehler behandeln False {True|False}
Trustworthy TRUSTWORTHY Datenbankeinstellungen, Vertrauenswürdig False {True|False}
TwoDigitYearCutoff TWO_DIGIT_YEAR_CUTOFF Datenbankeinstellungen, Zweistellige Jahreskürzung 2049 {integer}
UpdateOptions db_update_option Datenbankeinstellungen, Updateoptionen READ_WRITE {READ_WRITE|READ_ONLY}
ValidateCasingOnIdentifiers Allgemeine Projekteinstellung, Überprüfen der Groß-/Kleinschreibung von Bezeichnern True {True|False}
  1. Der Standardwert unterscheidet sich je nach Moduledition und Servereinstellungen.
  2. Optionen für Datenbankweit gültige Konfiguration
  3. AUTO wird mit dem Wert 0 festgelegt.
  4. Gilt nur als CREATE DATABASEOption .