Partilhar via


Propriedades de projetos SQL

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Além do conteúdo dos arquivos de .sql individuais, os projetos de 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 arquivo .sqlproj e podem ser definidas editando o arquivo .sqlproj 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 mais usadas incluem:

Desativar alterações nas opções do banco de dados

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

Propriedades comuns do projeto

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

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

Propriedades da aplicação de camada de dados

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

  • DacApplicationName: O nome do aplicativo da camada de dados .dacpac. O valor padrão é o nome do projeto.
  • DacDescription: Uma descrição opcional do aplicativo da camada de dados .dacpac.
  • DacVersion: A versão do aplicativo da camada de dados .dacpac. O valor padrão é 1.0.0.0.

Esquema padrão

A propriedade DefaultSchema define o esquema padrão para o projeto SQL. Esta propriedade aplica-se a objetos nomeados compostos por uma única parte. O valor padrão é dbo.

Avisos T-SQL

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

A propriedade TreatTSqlWarningsAsErrors trata os avisos do T-SQL como erros, fazendo com que qualquer aviso do T-SQL falhe na compilação. O valor padrão para TreatTSqlWarningsAsErrors é False.

Exemplo de uso das propriedades do projeto

O exemplo a seguir mostra como definir as propriedades CompatibilityMode, IsChangeTrackingOne TreatTSqlWarningsAsErrors em um arquivo de projeto SQL. A propriedade CompatibilityMode está definida como 130, a propriedade IsChangeTrackingOn está definida como Truee a propriedade TreatTSqlWarningsAsErrors está definida como True. A propriedade TreatSqlWarningsAsErrors só é definida como True na configuração de compilação 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 do projeto estã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, revise a documentação associada para a opção de banco de dados para entender o comportamento da propriedade e os requisitos do banco de dados.

Property DATABASE SET opção Etiqueta de UI Valor padrão do projeto SQL Valores permitidos
AllowSnapshotIsolation ALLOW_SNAPSHOT_ISOLATION Configurações da base de dados, Operacional, Permitir isolamento de foto instantânea False {True|False}
AnsiNulls ANSI_NULLS Configurações do banco de dados, SET ANSI_NULLS True {True|False}
AnsiPadding ANSI_PADDING Configurações do banco de dados, SET ANSI_PADDING True {True|False}
AnsiWarnings ANSI_WARNINGS Configurações do banco de dados, SET ANSI_WARNINGS True {True|False}
ArithAbort ARITHABORT Configurações do banco de dados, SET ARITHABORT True {True|False}
AutoClose AUTO_CLOSE Configurações do banco de dados, Operacional, Fechamento automático False {True|False}
AutoCreateStatistics AUTO_CREATE_STATISTICS Configurações de banco de dados, Operacional, Criação automática de estatísticas True {True|False}
AutoCreateStatisticsIncremental AUTO_CREATE_STATISTICS (INCREMENTAL) Configurações de banco de dados, Operacional, Criação incremental automática False {True|False}
AutoShrink AUTO_SHRINK Configurações de banco de dados, Operacional, Encolhimento automático False {True|False}
AutoUpdateStatistics AUTO_UPDATE_STATISTICS Configurações do banco de dados, Operacional, Estatísticas de atualização automática True {True|False}
AutoUpdateStatisticsAsynchronously AUTO_UPDATE_STATISTICS_ASYNC Configurações de banco de dados, Operacional, Estatísticas de atualização automática de forma assíncrona False {True|False}
ChangeTrackingRetentionPeriod CHANGE_RETENTION Configurações do banco de dados, Operacional, Período de retenção de controle de alterações 2 {integer}
ChangeTrackingRetentionUnit CHANGE_RETENTION Configurações do banco de dados, Operacional, Período de retenção de controle de alterações MINUTES {DAYS|HOURS|MINUTES}
CloseCursorOnCommitEnabled CURSOR_CLOSE_ON_COMMIT Configurações do banco de dados, Operacional, Fechar o cursor na confirmação ativada False {True|False}
CompatibilityMode COMPATIBILITY_LEVEL Configurações do banco de dados, Nível de compatibilidade {100|110|120|130|140|150|160|170}1
ConcatNullYieldsNull CONCAT_NULL_YIELDS_NULL Configurações do banco de dados, SET CONCAT_NULL_YIELDS_NULL True {True|False}
Containment CONTAINMENT Configurações do banco de dados, Contenção NONE {NONE|PARTIAL}
DacApplicationName Propriedades da aplicação de camada de dados (.dacpac), nome O nome do projeto {string}
DacDescription Propriedades da aplicação de camada de dados (.dacpac), descrição {string}
DacVersion Propriedades da aplicação de nível de dados (.dacpac), versão 1.0.0.0 {número da versão semântica}
DatabaseAccess db_user_access_option Configurações do 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 do banco de dados, Idioma de texto completo padrão 1033 {idioma inteiro ID}
DatabaseDefaultLanguage DEFAULT_LANGUAGE Configurações do banco de dados, idioma padrão 1033 {idioma inteiro ID}
DatabaseState db_state_option Configurações do banco de dados, Estado do banco de dados ONLINE {ONLINE|OFFLINE}
DbScopedConfigLegacyCardinalityEstimation LEGACY_CARDINALITY_ESTIMATION 2 Configuração do escopo do banco de dados, estimativa de cardinalidade herdada Off {Off|On}
DbScopedConfigLegacyCardinalitySecondaryEstimation LEGACY_CARDINALITY_SECONDARY_ESTIMATION 2 Configuração de escopo da base de dados, estimativa de cardinalidade legada para cenários secundários Primary {Primary|Off|On}
DbScopedConfigParameterSniffing PARAMETER_SNIFFING 2 Configuração do escopo do banco de dados, deteção de parâmetros On {On|Off}
DbScopedConfigParameterSniffingSecondary PARAMETER_SNIFFING_SECONDARY 2 Configuração do escopo do banco de dados, detecção de parâmetros para instâncias secundárias Primary {Primary|Off|On}
DbScopedConfigOptimizerHotfixes OPTIMIZER_HOTFIXES 2 Configuração do escopo do banco de dados, correções urgentes do otimizador de consulta Off {Off|On}
DbScopedConfigOptimizerHotfixesSecondary OPTIMIZER_HOTFIXES_SECONDARY 2 Configuração no escopo da base de dados, correções do otimizador de consultas para o secundário Primary {Primary|Off|On}
DbScopedConfigMaxDOP MAXDOP 2 Configuração do escopo do banco de dados, graus máximos de paralelismo 0 {integer}
DbScopedConfigMaxDOPSecondary MAXDOP_SECONDARY 2 Configuração do escopo do banco de dados, graus máximos de paralelismo para secundário {integer}
DbScopedConfigDWCompatibilityLevel DW_COMPATIBILITY_LEVEL 2 Configuração do escopo do banco de dados, nível de compatibilidade DW 0 {0|10|20|30|40|50|9000}3
DefaultCollation COLLATE 4 Configurações do banco de dados, agrupamento do banco de dados SQL_Latin1_General_CP1_CI_AS Consulte o nome de agrupamento do SQL Server para valores válidos.
DefaultCursor CURSOR_DEFAULT Configurações do banco de dados, Operacional, Cursor padrão Local {Global|Local}
DefaultFilegroup Configurações do banco de dados, Operacional, Grupo de arquivos padrão PRIMARY {string}
DefaultFileStreamFilegroup Configurações da base de dados, Operacional, Grupo de arquivos FileStream padrão {string}
DefaultSchema Configuração geral do projeto, esquema padrão dbo {string}
DelayedDurability DELAYED_DURABILITY Configurações de banco de dados, Operação, Durabilidade diferida das 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 do banco de dados, Ativar pesquisa de texto completo True {True|False}
FileStreamDirectoryName FILESTREAM (DIRECTORY_NAME) Configurações do banco de dados, nome do diretório FILESTREAM {string}
IsBrokerPriorityHonored HONOR_BROKER_PRIORITY Configurações do banco de dados, prioridade do corretor respeitada False {True|False}
IsChangeTrackingAutoCleanupOn CHANGE_TRACKING Configurações de banco de dados, Operacional, Limpeza automática do registo de alterações True {True|False}
IsChangeTrackingOn CHANGE_TRACKING Configurações do banco de dados, Operacional, Controle de alterações False {True|False}
IsEncryptionOn ENCRYPTION Configurações do banco de dados, Criptografia habilitada False {True|False}
IsLedgerOn LEDGER 4 Configurações do banco de dados e ativação do Livro Razão False {True|False}
IsNestedTriggersOn NESTED_TRIGGERS Configurações do banco de dados, Gatilhos aninhados habilitados True {True|False}
IsTransformNoiseWordsOn TRANSFORM_NOISE_WORDS Configurações do banco de dados, Transformar palavras inúteis False {True|False}
MemoryOptimizedElevateToSnapshot MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Configurações de banco de dados, Operacional, Memória otimizada elevada para instantâneo False {True|False}
ModelCollation Configurações do projeto, Colação 1033,CI {ID do idioma {integer } {}}, {CI|CS}
NonTransactedFileStreamAccess NON_TRANSACTED_ACCESS Configurações do banco de dados, acesso não transacionado FILESTREAM OFF {OFF|READ_ONLY|FULL}
NumericRoundAbort NUMERIC_ROUNDABORT Configurações do banco de dados, SET NUMERIC_ROUNDABORT False {True|False}
OutputPath Configurações de compilação, caminho de saída bin\Debug e bin\Release {string}
PageVerify PAGE_VERIFY Configurações do 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 do 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 do banco de dados, Configurações operacionais, Intervalo de liberação de dados do armazenamento de consultas (segundos) 900 {integer}
QueryStoreIntervalLength QUERY_STORE (INTERVAL_LENGTH_MINUTES) Configurações do banco de dados, Operacional, Duração do intervalo de armazenamento de consultas (minutos) 60 {integer}
QueryStoreMaxPlansPerQuery QUERY_STORE (MAX_PLANS_PER_QUERY) Configurações de banco de dados, Operacional, Armazenamento de consultas Máximo de planos por consulta 200 {integer}
QueryStoreMaxStorageSize QUERY_STORE (MAX_STORAGE_SIZE_MB) Configurações do banco de dados, Operacional, Armazenamento de consultas Tamanho máximo de armazenamento (MB) 100 {integer}
QueryStoreStaleQueryThreshold QUERY_STORE (STALE_QUERY_THRESHOLD_DAYS) Configurações de banco de dados, Operação, Limite para consultas obsoletas do repositório de consultas (dias) 367 {integer}
QuotedIdentifier QUOTED_IDENTIFIER Configurações do banco de dados, SET QUOTED_IDENTIFIER True {True|False}
ReadCommittedSnapshot READ_COMMITTED_SNAPSHOT Configurações de banco de dados, Operacional, Leitura de instantâneo confirmado False {True|False}
Recovery RECOVERY Configurações de banco de dados, Operacional, Recuperação FULL {FULL|SIMPLE|BULK_LOGGED}
RecursiveTriggersEnabled RECURSIVE_TRIGGERS Configurações do banco de dados, Gatilhos recursivos habilitados False {True|False}
ServiceBrokerOption SERVICE_BROKER Configurações do banco de dados, opções do Service Broker DisableBroker {DisableBroker|EnableBroker|NewBroker|ErrorBrokerConversations}
SuppressTSqlWarnings Configurações de compilação, Suprimir avisos T-SQL (lista separada por vírgulas de códigos de aviso T-SQL) {string}
TargetRecoveryTimePeriod Configurações do banco de dados, operacional, tempo de recuperação alvo (segundos) Especifica a frequência dos pontos de verificação indiretos por banco de dados. 60 {integer}
TargetRecoveryTimeUnit Configurações do banco de dados, Operacional, tempo alvo de recuperação SECONDS {MINUTES|SECONDS}
TreatTSqlWarningsAsErrors Configurações de compilação, Tratar avisos T-SQL como erros False {True|False}
Trustworthy TRUSTWORTHY Configurações do banco de dados, Confiável False {True|False}
TwoDigitYearCutoff TWO_DIGIT_YEAR_CUTOFF Definições do banco de dados, limite para ano de dois dígitos 2049 {integer}
UpdateOptions db_update_option Configurações do banco de dados, Opções de atualização READ_WRITE {READ_WRITE|READ_ONLY}
ValidateCasingOnIdentifiers Configuração geral do projeto, validar o invólucro dos identificadores True {True|False}
  1. O valor padrão difere com base na edição do mecanismo e nas configurações do servidor.
  2. Configuração com escopo de banco de dados: opções.
  3. AUTO é definido com o valor 0.
  4. Aplica-se apenas como uma opção CREATE DATABASE.