Compartilhar via


Propriedades de projetos SQL

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureBanco de dados SQL no Microsoft Fabric

Além do conteúdo dos arquivos individuais .sql , os projetos do banco de dados SQL contêm propriedades que definem o comportamento do projeto e as configurações no nível do banco de dados. Essas propriedades são armazenadas no .sqlproj arquivo e podem ser definidas editando o .sqlproj arquivo diretamente. Algumas ferramentas de projetos SQL, como Visual Studio e VS Code, fornecem acesso para editar algumas ou muitas das propriedades do projeto em uma interface gráfica do usuário. Este artigo fornece uma visão geral das propriedades que você pode definir para projetos de banco de dados SQL.

As propriedades de projetos SQL comumente usadas incluem:

Desabilitar alterações de opções de banco de dados

Durante a publicação do projeto SQL, as alterações nas opções de banco de dados são roteadas com base nos valores definidos nas propriedades do projeto e nos valores padrão do projeto. Para impedir que as opções de banco de dados sejam modificadas durante a publicação, usando uma ferramenta como a CLI do SqlPackage ou o Visual Studio, defina a propriedade de publicação como ScriptDatabaseOptions false. Essa configuração também pode ser incorporada em um perfil de publicação.

Propriedades comuns do projeto

A propriedade de plataforma de destino especifica a versão do SQL Server direcionada ao projeto. A DSP propriedade é usada para definir a plataforma de destino para o projeto SQL. Mais informações sobre a plataforma de destino podem ser encontradas no artigo da plataforma de destino .

A análise de código pode melhorar drasticamente o processo contínuo de integração e implantação capturando possíveis problemas no início do ciclo de vida de desenvolvimento. Saiba mais sobre como habilitar a análise de código e incluir regras personalizadas no artigo de análise de código SQL .

Propriedades de aplicativo da camada de dados

As propriedades a seguir são usadas para definir o DAC (aplicativo de camada de dados) que é criado quando o projeto SQL é criado.

  • DacApplicationName: o nome do aplicativo .dacpacda camada de dados. O valor padrão é o nome do projeto.
  • DacDescription: uma descrição opcional do aplicativo .dacpacda camada de dados.
  • DacVersion: a versão do aplicativo de nível de dados .dacpac. O valor padrão é 1.0.0.0.

Esquema padrão

A DefaultSchema propriedade define o esquema padrão para o projeto SQL. Essa propriedade se aplica a objetos nomeados de uma parte. O valor padrão é dbo.

Avisos do T-SQL

As propriedades SuppressTSqlWarnings e TreatTSqlWarningsAsErrors controlam como os avisos T-SQL são tratados durante a compilação do projeto. A SuppressTSqlWarnings propriedade suprime avisos T-SQL durante o build do projeto, especificados como uma lista separada por vírgulas de números de erro.

A TreatTSqlWarningsAsErrors propriedade trata os avisos T-SQL como erros, resultando em falhas na compilação caso ocorram avisos T-SQL. O valor padrão para TreatTSqlWarningsAsErrors é False.

Exemplo de uso de propriedades do projeto

O exemplo a seguir mostra como definir as propriedades CompatibilityMode, IsChangeTrackingOn, e TreatTSqlWarningsAsErrors em um arquivo de projeto SQL. A propriedade CompatibilityMode é definida como 130, a propriedade IsChangeTrackingOn é definida como True, e a propriedade TreatTSqlWarningsAsErrors é definida como True. A propriedade TreatSqlWarningsAsErrors é definida apenas como True na configuração de 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>

Todas as propriedades do projeto

Algumas propriedades de projeto são associadas a opções de banco de dados que se aplicam apenas a bancos de dados do SQL Server ou versões específicas do SQL Server. Antes de incluir uma propriedade de projeto em seu projeto, examine a documentação associada da opção de banco de dados para entender o comportamento dos requisitos de propriedade e banco de dados.

Property Opção DATABASE SET Rótulo de UI Valor padrão do projeto SQL Valores permitidos
AllowSnapshotIsolation ALLOW_SNAPSHOT_ISOLATION Configurações do banco de dados, Operacional, Permitir isolamento de instantâneo False {True|False}
AnsiNulls ANSI_NULLS Configurações de banco de dados, SET ANSI_NULLS True {True|False}
AnsiPadding ANSI_PADDING Configurações de banco de dados, SET ANSI_PADDING True {True|False}
AnsiWarnings ANSI_WARNINGS Configurações de banco de dados, SET ANSI_WARNINGS True {True|False}
ArithAbort ARITHABORT Configurações de banco de dados, SET ARITHABORT True {True|False}
AutoClose AUTO_CLOSE Configurações de banco de dados, Operacional, Fechamento Automático False {True|False}
AutoCreateStatistics AUTO_CREATE_STATISTICS Configurações de banco de dados, estatísticas operacionais e de criação automática True {True|False}
AutoCreateStatisticsIncremental AUTO_CREATE_STATISTICS (INCREMENTAL) Configurações de banco de dados, Operacional, Criação Automática Incremental False {True|False}
AutoShrink AUTO_SHRINK Configurações de banco de dados, Operacional, Redução Automática False {True|False}
AutoUpdateStatistics AUTO_UPDATE_STATISTICS Configurações de banco de dados, estatísticas operacionais e de atualização automática True {True|False}
AutoUpdateStatisticsAsynchronously AUTO_UPDATE_STATISTICS_ASYNC Configurações de banco de dados, Operacional, Atualizar estatísticas automaticamente de forma assíncrona False {True|False}
ChangeTrackingRetentionPeriod CHANGE_RETENTION Configurações de banco de dados, Operacional, Período de retenção do controle de alterações 2 {integer}
ChangeTrackingRetentionUnit CHANGE_RETENTION Configurações de banco de dados, Operacional, Período de retenção do controle de alterações MINUTES {DAYS|HOURS|MINUTES}
CloseCursorOnCommitEnabled CURSOR_CLOSE_ON_COMMIT Configurações de banco de dados, Operacional, Fechar cursor no commit habilitado False {True|False}
CompatibilityMode COMPATIBILITY_LEVEL Configurações de banco de dados, nível de compatibilidade {100|110|120|130|140|150|160|170}1
ConcatNullYieldsNull CONCAT_NULL_YIELDS_NULL Configurações de banco de dados, SET CONCAT_NULL_YIELDS_NULL True {True|False}
Containment CONTAINMENT Configurações de banco de dados, Contenção NONE {NONE|PARTIAL}
DacApplicationName Propriedades do aplicativo em nível de dados (.dacpac), nome O nome do projeto {string}
DacDescription Propriedades do aplicativo de camada de dados (.dacpac), descrição {string}
DacVersion Propriedades (.dacpac) de aplicativo da camada de dados, versão 1.0.0.0 {número de versão semântica}
DatabaseAccess db_user_access_option Configurações de banco de dados, acesso ao banco de dados MULTI_USER {MULTI_USER|SINGLE_USER|RESTRICTED_USER}
DatabaseChaining DB_CHAINING Configurações de banco de dados, encadeamento de banco de dados False {True|False}
DatabaseDefaultFulltextLanguage DEFAULT_FULLTEXT_LANGUAGE Configurações de banco de dados, idioma de texto completo padrão 1033 { id de idioma inteiro}
DatabaseDefaultLanguage DEFAULT_LANGUAGE Configurações de banco de dados, idioma padrão 1033 { id de idioma inteiro}
DatabaseState db_state_option Configurações de banco de dados, estado do banco de dados ONLINE {ONLINE|OFFLINE}
DbScopedConfigLegacyCardinalityEstimation LEGACY_CARDINALITY_ESTIMATION 2 Configuração no escopo do banco de dados, Estimativa de cardinalidade herdada Off {Off|On}
DbScopedConfigLegacyCardinalitySecondaryEstimation LEGACY_CARDINALITY_SECONDARY_ESTIMATION 2 Configuração no escopo do banco de dados, Estimativa de cardinalidade herdada para secundário Primary {Primary|Off|On}
DbScopedConfigParameterSniffing PARAMETER_SNIFFING 2 Configuraçã ode escopo do banco de dados, Detecção de parâmetros On {On|Off}
DbScopedConfigParameterSniffingSecondary PARAMETER_SNIFFING_SECONDARY 2 Configuração no escopo do banco de dados, Detecção de parâmetros para secundário Primary {Primary|Off|On}
DbScopedConfigOptimizerHotfixes OPTIMIZER_HOTFIXES 2 Configuração no escopo do banco de dados, Correções do otimizador de consultas Off {Off|On}
DbScopedConfigOptimizerHotfixesSecondary OPTIMIZER_HOTFIXES_SECONDARY 2 Configuração com escopo de banco de dados, Correções do otimizador de consulta para secundário Primary {Primary|Off|On}
DbScopedConfigMaxDOP MAXDOP 2 Configuração no escopo de do de dados, Máximo de graus de paralelismo 0 {integer}
DbScopedConfigMaxDOPSecondary MAXDOP_SECONDARY 2 Configuração no escopo de do de dados, Máximo de graus de paralelismo para secundário {integer}
DbScopedConfigDWCompatibilityLevel DW_COMPATIBILITY_LEVEL 2 Configuração no escopo do banco de dados, nível de compatibilidade DW 0 {0|10|20|30|40|50|9000}3
DefaultCollation COLLATE 4 Configurações de banco de dados, ordenação de banco de dados SQL_Latin1_General_CP1_CI_AS Consulte o nome da ordenação do SQL Server para obter valores válidos.
DefaultCursor CURSOR_DEFAULT Configurações de banco de dados, operacional, cursor padrão Local {Global|Local}
DefaultFilegroup Configurações de banco de dados, Operacionalidade, grupo de arquivos padrão. PRIMARY {string}
DefaultFileStreamFilegroup Configurações do banco de dados, Operacional, Grupo de arquivos padrão para fluxo de arquivos {string}
DefaultSchema Configuração geral do projeto, esquema padrão dbo {string}
DelayedDurability DELAYED_DURABILITY Configurações de banco de dados, Operacional, Durabilidade atrasada de transações DISABLED {DISABLED|ALLOWED|FORCED}
DSP A plataforma de destino para o projeto SQL Consulte a plataforma de destino para obter valores válidos.
EnableFullTextSearch Configurações de banco de dados, Habilitar pesquisa de texto completo True {True|False}
FileStreamDirectoryName FILESTREAM (DIRECTORY_NAME) Configurações de banco de dados, nome do diretório FILESTREAM {string}
IsBrokerPriorityHonored HONOR_BROKER_PRIORITY Configurações de banco de dados, prioridade do agente respeitada False {True|False}
IsChangeTrackingAutoCleanupOn CHANGE_TRACKING Configurações de banco de dados, Operacional, Limpeza automática do controle de alterações True {True|False}
IsChangeTrackingOn CHANGE_TRACKING Configurações de banco de dados, operacional, controle de alterações False {True|False}
IsEncryptionOn ENCRYPTION Configurações de banco de dados, Criptografia habilitada False {True|False}
IsLedgerOn LEDGER 4 Configurações do banco de dados, Habilitar Razão False {True|False}
IsNestedTriggersOn NESTED_TRIGGERS Configurações de banco de dados, gatilhos aninhados habilitados True {True|False}
IsTransformNoiseWordsOn TRANSFORM_NOISE_WORDS Configurações de banco de dados, transformar palavras de ruído False {True|False}
MemoryOptimizedElevateToSnapshot MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Configurações do banco de dados, Operacional, Elevação otimizada de memória para instantâneo False {True|False}
ModelCollation Configurações do projeto, Ordenação 1033,CI {integer language id}, {CI|CS}
NonTransactedFileStreamAccess NON_TRANSACTED_ACCESS Configurações de banco de dados, acesso não transacionado FILESTREAM OFF {OFF|READ_ONLY|FULL}
NumericRoundAbort NUMERIC_ROUNDABORT Configurações de banco de dados, SET NUMERIC_ROUNDABORT False {True|False}
OutputPath Configurações de build, Caminho de saída bin\Debug e bin\Release {string}
PageVerify PAGE_VERIFY Configurações de banco de dados, Operacional, Verificação de página NONE {NONE|TORN_PAGE_DETECTION|CHECKSUM}
Parameterization PARAMETERIZATION Configurações de banco de dados, parametrização SIMPLE {SIMPLE|FORCED}
QueryStoreCaptureMode QUERY_STORE (QUERY_CAPTURE_MODE) Configurações do banco de dados, Operacional, Modo de captura do repositório de consultas ALL {OFF|ALL|AUTO}
QueryStoreDesiredState QUERY_STORE (OPERATION_MODE) Configurações de banco de dados, operacional, modo de operação do repositório de consultas OFF {OFF|READ_WRITE|READ_ONLY}
QueryStoreFlushInterval QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS) Configurações de banco de dados, operacional, intervalo de liberação de dados do repositório de consultas (segundos) 900 {integer}
QueryStoreIntervalLength QUERY_STORE (INTERVAL_LENGTH_MINUTES) Configurações do banco de dados, operacional, comprimento do intervalo do repositório de consultas (minutos) 60 {integer}
QueryStoreMaxPlansPerQuery QUERY_STORE (MAX_PLANS_PER_QUERY) Configurações do banco de dados, Operacional, Máximo de planos por quero do repositório de consultas 200 {integer}
QueryStoreMaxStorageSize QUERY_STORE (MAX_STORAGE_SIZE_MB) Configurações de banco de dados, operacional, tamanho máximo do armazenamento do repositório de consultas (MB) 100 {integer}
QueryStoreStaleQueryThreshold QUERY_STORE (STALE_QUERY_THRESHOLD_DAYS) Configurações de banco de dados, Operacional, Limite de consulta obsoleta do repositório de consultas (dias) 367 {integer}
QuotedIdentifier QUOTED_IDENTIFIER Configurações de banco de dados, SET QUOTED_IDENTIFIER True {True|False}
ReadCommittedSnapshot READ_COMMITTED_SNAPSHOT Configurações do banco de dados, Operacional, Leitura do instantâneo com commit False {True|False}
Recovery RECOVERY Configurações de banco de dados, Operacional, Recuperação FULL {FULL|SIMPLE|BULK_LOGGED}
RecursiveTriggersEnabled RECURSIVE_TRIGGERS Configurações de banco de dados, gatilhos recursivos habilitados False {True|False}
ServiceBrokerOption SERVICE_BROKER Configurações de banco de dados, opções do agente de serviço DisableBroker {DisableBroker|EnableBroker|NewBroker|ErrorBrokerConversations}
SuppressTSqlWarnings Configurações de build, Suprimir avisos T-SQL (lista separada por vírgulas de códigos de aviso T-SQL) {string}
TargetRecoveryTimePeriod Configurações de banco de dados, Operacional, tempo de recuperação desejado (segundos) Especifica a frequência de pontos de verificação indiretos por banco de dados. 60 {integer}
TargetRecoveryTimeUnit Configurações do banco de dados, Operacional, Tempo de recuperação de destino SECONDS {MINUTES|SECONDS}
TreatTSqlWarningsAsErrors Configurações de build, tratar avisos T-SQL como erros False {True|False}
Trustworthy TRUSTWORTHY Configurações de banco de dados, Trustworthy False {True|False}
TwoDigitYearCutoff TWO_DIGIT_YEAR_CUTOFF Configurações de banco de dados, corte de ano de dois dígitos 2049 {integer}
UpdateOptions db_update_option Configurações de banco de dados, opções de atualização READ_WRITE {READ_WRITE|READ_ONLY}
ValidateCasingOnIdentifiers Configuração geral do projeto, validar o uso de maiúsculas e minúsculas nos identificadores True {True|False}
  1. O valor padrão difere com base na versão do mecanismo e nas configurações do servidor.
  2. Opções de configuração no escopo do banco de dados.
  3. AUTO é definido com o valor 0.
  4. Aplica-se apenas como uma CREATE DATABASEopção .