Condividi tramite


Proprietà dei progetti SQL

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureDatabase SQL in Microsoft Fabric

Oltre al contenuto dei singoli file di .sql, i progetti di database SQL contengono proprietà che definiscono il comportamento del progetto e le impostazioni a livello di database. Queste proprietà vengono archiviate nel file .sqlproj e possono essere impostate modificando direttamente il file .sqlproj. Alcuni strumenti di progetti SQL, ad esempio Visual Studio e VS Code, forniscono l'accesso per modificare alcune o molte delle proprietà del progetto in un'interfaccia utente grafica. Questo articolo offre una panoramica delle proprietà che è possibile impostare per i progetti di database SQL.

Le proprietà dei progetti SQL comunemente usate includono:

Disabilitare le modifiche alle opzioni del database

Durante la pubblicazione del progetto SQL, le modifiche apportate alle opzioni del database vengono compilate in base ai valori definiti nelle proprietà del progetto e ai valori predefiniti del progetto. Per impedire che le opzioni di database vengano modificate durante la pubblicazione, usando uno strumento come 'interfaccia della riga di comando di SqlPackage o Visual Studio, impostare la proprietà publish su ScriptDatabaseOptions su false. Questa impostazione può essere incorporata anche in un profilo di pubblicazione.

Proprietà comuni del progetto

La proprietà della piattaforma di destinazione specifica la versione di SQL Server di destinazione del progetto. La proprietà DSP viene usata per impostare la piattaforma di destinazione per il progetto SQL. Altre informazioni sulla piattaforma di destinazione sono disponibili nell'articolo piattaforma di destinazione.

L'analisi del codice può migliorare notevolmente il processo di integrazione e distribuzione continua rilevando potenziali problemi all'inizio del ciclo di vita dello sviluppo. Per saperne di più sull'abilitazione dell'analisi del codice e sull'inclusione di regole personalizzate, consulta l'articolo sull'analisi del codice SQL .

Proprietà dell'applicazione a livello dati

Le proprietà seguenti vengono usate per definire l'applicazione livello dati creata al momento della compilazione del progetto SQL.

  • DacApplicationName: nome dell'applicazione livello dati .dacpac. Il valore predefinito è il nome del progetto.
  • dacDescription: descrizione facoltativa dell'applicazione livello dati .dacpac.
  • DacVersion: La versione dell'applicazione al livello dati .dacpac. Il valore predefinito è 1.0.0.0.

Schema predefinito

La proprietà DefaultSchema imposta lo schema predefinito per il progetto SQL. Questa proprietà si applica agli oggetti denominati in 1 parte. Il valore predefinito è dbo.

Avvisi T-SQL

Le proprietà SuppressTSqlWarnings e TreatTSqlWarningsAsErrors controllano la modalità di gestione degli avvisi T-SQL durante la compilazione del progetto. La proprietà SuppressTSqlWarnings elimina gli avvisi T-SQL durante la compilazione del progetto, specificata come elenco delimitato da virgole di numeri di errore.

La proprietà TreatTSqlWarningsAsErrors considera gli avvisi T-SQL come errori, causando l'esito negativo della compilazione di eventuali avvisi T-SQL. Il valore predefinito per TreatTSqlWarningsAsErrors è False.

Esempio di utilizzo delle proprietà del progetto

Nell'esempio seguente viene illustrato come impostare le proprietà CompatibilityMode, IsChangeTrackingOne TreatTSqlWarningsAsErrors in un file di progetto SQL. La proprietà CompatibilityMode è impostata su 130, la proprietà IsChangeTrackingOn è impostata su Truee la proprietà TreatTSqlWarningsAsErrors è impostata su True. La proprietà TreatSqlWarningsAsErrors è impostata solo su True nella configurazione di compilazione 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>

Tutte le proprietà del progetto

Alcune proprietà del progetto sono associate alle opzioni di database che si applicano solo ai database di SQL Server o a versioni specifiche di SQL Server. Prima di includere una proprietà di progetto nel progetto, esaminare la documentazione associata per l'opzione di database per comprendere il comportamento delle proprietà e dei requisiti del database.

Property opzione DATABASE SET Etichetta dell'interfaccia utente Valore predefinito del progetto SQL Valori consentiti
AllowSnapshotIsolation ALLOW_SNAPSHOT_ISOLATION Impostazioni del database, Operazionali, Consenti isolamento snapshot False {True|False}
AnsiNulls ANSI_NULLS Impostazioni del database, SET ANSI_NULLS True {True|False}
AnsiPadding ANSI_PADDING Impostazioni del database, SET ANSI_PADDING True {True|False}
AnsiWarnings ANSI_WARNINGS Impostazioni del database: SET ANSI_WARNINGS True {True|False}
ArithAbort ARITHABORT Impostazioni del database, SET ARITHABORT True {True|False}
AutoClose AUTO_CLOSE Impostazioni del database, Operativo, Chiusura automatica False {True|False}
AutoCreateStatistics AUTO_CREATE_STATISTICS Impostazioni del database, Operativo, Creazione automatica statistiche True {True|False}
AutoCreateStatisticsIncremental AUTO_CREATE_STATISTICS (INCREMENTAL) Impostazioni del database, Operativo, Creazione automatica incrementale False {True|False}
AutoShrink AUTO_SHRINK Impostazioni del database, Operativo, Compattazione automatica False {True|False}
AutoUpdateStatistics AUTO_UPDATE_STATISTICS Impostazioni del database, Operativo, Statistiche di aggiornamento automatico True {True|False}
AutoUpdateStatisticsAsynchronously AUTO_UPDATE_STATISTICS_ASYNC Impostazioni del database, Operativo, Aggiornamento automatico statistiche in modo asincrono False {True|False}
ChangeTrackingRetentionPeriod CHANGE_RETENTION Impostazioni del database, Operativo, Periodo di conservazione per il tracciamento delle modifiche 2 {integer}
ChangeTrackingRetentionUnit CHANGE_RETENTION Impostazioni del database, Operativo, Periodo di conservazione per il tracciamento delle modifiche MINUTES {DAYS|HOURS|MINUTES}
CloseCursorOnCommitEnabled CURSOR_CLOSE_ON_COMMIT Impostazioni del database, Modalità operativa, Chiudere il cursore al commit è abilitato False {True|False}
CompatibilityMode COMPATIBILITY_LEVEL Impostazioni del database, livello di compatibilità {100|110|120|130|140|150|160|170}1
ConcatNullYieldsNull CONCAT_NULL_YIELDS_NULL Impostazioni del database: impostare CONCAT_NULL_YIELDS_NULL True {True|False}
Containment CONTAINMENT Impostazioni del database, contenimento NONE {NONE|PARTIAL}
DacApplicationName Proprietà dell'applicazione a livello di dati (.dacpac), nome Nome del progetto {string}
DacDescription Proprietà dell'applicazione di livello dati (.dacpac), descrizione {string}
DacVersion Proprietà dell'applicazione del livello dati (.dacpac), versione 1.0.0.0 {numero di versione semantica}
DatabaseAccess db_user_access_option Impostazioni del database, Accesso al database MULTI_USER {MULTI_USER|SINGLE_USER|RESTRICTED_USER}
DatabaseChaining DB_CHAINING Impostazioni del database, concatenamento del database False {True|False}
DatabaseDefaultFulltextLanguage DEFAULT_FULLTEXT_LANGUAGE Impostazioni del database, lingua full-text predefinita 1033 {integer identificativo lingua}
DatabaseDefaultLanguage DEFAULT_LANGUAGE Impostazioni del database, lingua predefinita 1033 {integer identificativo lingua}
DatabaseState db_state_option Impostazioni del database, Stato del database ONLINE {ONLINE|OFFLINE}
DbScopedConfigLegacyCardinalityEstimation LEGACY_CARDINALITY_ESTIMATION 2 Configurazione a livello di database, stima della cardinalità legacy Off {Off|On}
DbScopedConfigLegacyCardinalitySecondaryEstimation LEGACY_CARDINALITY_SECONDARY_ESTIMATION 2 Configurazione con ambito specifico, stima della cardinalità legacy per i database secondari Primary {Primary|Off|On}
DbScopedConfigParameterSniffing PARAMETER_SNIFFING 2 Configurazione con ambito database, analisi dei parametri On {On|Off}
DbScopedConfigParameterSniffingSecondary PARAMETER_SNIFFING_SECONDARY 2 Configurazione a livello di database, analisi dei parametri per il secondario Primary {Primary|Off|On}
DbScopedConfigOptimizerHotfixes OPTIMIZER_HOTFIXES 2 Configurazione con ambito database, hotfix per Query Optimizer Off {Off|On}
DbScopedConfigOptimizerHotfixesSecondary OPTIMIZER_HOTFIXES_SECONDARY 2 Configurazione con ambito database, hotfix dell'ottimizzatore di query per repliche secondarie Primary {Primary|Off|On}
DbScopedConfigMaxDOP MAXDOP 2 Configurazione con ambito database, gradi massimi di parallelismo 0 {integer}
DbScopedConfigMaxDOPSecondary MAXDOP_SECONDARY 2 Configurazione con ambito limitato al database, massimo grado di parallelismo per il secondario {integer}
DbScopedConfigDWCompatibilityLevel DW_COMPATIBILITY_LEVEL 2 Configurazione specifica del database, livello di compatibilità DW 0 {0|10|20|30|40|50|9000}3
DefaultCollation COLLATE 4 Impostazioni del database, regole di confronto del database SQL_Latin1_General_CP1_CI_AS Consultare nome delle regole di confronto di SQL Server per ottenere i valori validi.
DefaultCursor CURSOR_DEFAULT Impostazioni del database, Operativo, Cursore predefinito Local {Global|Local}
DefaultFilegroup Impostazioni del database, Operativo, Filegroup predefinito PRIMARY {string}
DefaultFileStreamFilegroup Impostazioni del database, Operativo, Filegroup filestream predefinito {string}
DefaultSchema Impostazione generale del progetto, schema predefinito dbo {string}
DelayedDurability DELAYED_DURABILITY Impostazioni del database, Operativo, Transazioni con durabilità ritardata DISABLED {DISABLED|ALLOWED|FORCED}
DSP della piattaforma di destinazione per il progetto SQL Vedere la piattaforma di destinazione per i valori validi.
EnableFullTextSearch Impostazioni del database, Abilitare la ricerca full-text True {True|False}
FileStreamDirectoryName FILESTREAM (DIRECTORY_NAME) Impostazioni del database, nome della directory FILESTREAM {string}
IsBrokerPriorityHonored HONOR_BROKER_PRIORITY Impostazioni del database, priorità del broker rispettata False {True|False}
IsChangeTrackingAutoCleanupOn CHANGE_TRACKING Impostazioni del database, Operazionale, Pulizia automatica del rilevamento modifiche True {True|False}
IsChangeTrackingOn CHANGE_TRACKING Impostazioni del database, Operativo, Rilevamento modifiche False {True|False}
IsEncryptionOn ENCRYPTION Impostazioni del database, Crittografia abilitata False {True|False}
IsLedgerOn LEDGER 4 Impostazioni del database, Abilita libro mastro False {True|False}
IsNestedTriggersOn NESTED_TRIGGERS Impostazioni del database, abilitazione dei trigger annidati True {True|False}
IsTransformNoiseWordsOn TRANSFORM_NOISE_WORDS Impostazioni del database, Trasforma parole superflue False {True|False}
MemoryOptimizedElevateToSnapshot MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Impostazioni del database, Operatività, Ottimizzazione della memoria elevata a snapshot False {True|False}
ModelCollation Impostazioni del progetto, Regole di confronto 1033,CI {integer identificativo lingua}, {CI|CS}
NonTransactedFileStreamAccess NON_TRANSACTED_ACCESS Impostazioni del database, accesso non transazionato FILESTREAM OFF {OFF|READ_ONLY|FULL}
NumericRoundAbort NUMERIC_ROUNDABORT Impostazioni del database, SET NUMERIC_ROUNDABORT False {True|False}
OutputPath Impostazioni di compilazione, percorso di output bin\Debug e bin\Release {string}
PageVerify PAGE_VERIFY Impostazioni del database, Operativo, Verifica della pagina NONE {NONE|TORN_PAGE_DETECTION|CHECKSUM}
Parameterization PARAMETERIZATION Impostazioni del database, parametrizzazione SIMPLE {SIMPLE|FORCED}
QueryStoreCaptureMode QUERY_STORE (QUERY_CAPTURE_MODE) Impostazioni del database, Operativo, modalità di acquisizione del Query Store ALL {OFF|ALL|AUTO}
QueryStoreDesiredState QUERY_STORE (OPERATION_MODE) Impostazioni del database, operatività, modalità d'esercizio del query store OFF {OFF|READ_WRITE|READ_ONLY}
QueryStoreFlushInterval QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS) Impostazioni del database, Operativo, Intervallo di scaricamento dei dati dell'archivio query (secondi) 900 {integer}
QueryStoreIntervalLength QUERY_STORE (INTERVAL_LENGTH_MINUTES) Impostazioni del database, Operazionale, Intervallo di archiviazione delle query (minuti) 60 {integer}
QueryStoreMaxPlansPerQuery QUERY_STORE (MAX_PLANS_PER_QUERY) Impostazioni del database, Operativo, Archivio delle query numero massimo di piani per query 200 {integer}
QueryStoreMaxStorageSize QUERY_STORE (MAX_STORAGE_SIZE_MB) Impostazioni del database, Operativo, Dimensione massima di archiviazione dell'archivio query (MB) 100 {integer}
QueryStoreStaleQueryThreshold QUERY_STORE (STALE_QUERY_THRESHOLD_DAYS) Impostazioni del database, Operative, Soglia di inattività delle query (giorni) 367 {integer}
QuotedIdentifier QUOTED_IDENTIFIER Impostazioni del database, SET QUOTED_IDENTIFIER True {True|False}
ReadCommittedSnapshot READ_COMMITTED_SNAPSHOT Impostazioni del database, Operazionali, Snapshot di lettura confermata False {True|False}
Recovery RECOVERY Impostazioni del database, Operativo, Ripristino FULL {FULL|SIMPLE|BULK_LOGGED}
RecursiveTriggersEnabled RECURSIVE_TRIGGERS Impostazioni del database con trigger ricorsivi abilitati False {True|False}
ServiceBrokerOption SERVICE_BROKER Impostazioni del database, opzioni di Service Broker DisableBroker {DisableBroker|EnableBroker|NewBroker|ErrorBrokerConversations}
SuppressTSqlWarnings Impostazioni di compilazione, Elimina avvisi T-SQL (elenco delimitato da virgole di codici di avviso T-SQL) {string}
TargetRecoveryTimePeriod Impostazioni del database, Modalità operativa, Tempo stimato di ripristino (secondi) Specifica la frequenza dei checkpoint indiretti per ogni database. 60 {integer}
TargetRecoveryTimeUnit Impostazioni del database, operativo, tempo di recupero previsto SECONDS {MINUTES|SECONDS}
TreatTSqlWarningsAsErrors Impostazioni di compilazione, Considerare gli avvisi T-SQL come errori False {True|False}
Trustworthy TRUSTWORTHY Impostazioni del database, Trustworthy False {True|False}
TwoDigitYearCutoff TWO_DIGIT_YEAR_CUTOFF Impostazioni database, soglia anno a due cifre 2049 {integer}
UpdateOptions db_update_option Impostazioni del database, Opzioni di aggiornamento READ_WRITE {READ_WRITE|READ_ONLY}
ValidateCasingOnIdentifiers Impostazione generale del progetto, verifica la maiuscolatura degli identificatori True {True|False}
  1. Il valore predefinito è diverso in base alle impostazioni dell'edizione del motore e del server.
  2. opzioni di configurazione con ambito database.
  3. AUTO viene impostato con il valore 0.
  4. Si applica solo come opzione CREATE DATABASE.