Compartilhar via


Uma visão geral das configurações de projeto de banco de dados

Você pode usar o projeto de banco de dados configurações para controlar os aspectos de seu banco de dados e compilar configurações. Essas configurações se encaixam nas seguintes categorias:

  • Configurações de projeto

  • Build Events

  • Referências

  • Criar

  • Implantar

As configurações do projeto, eventos de compilação e propriedades de implantação são armazenadas no projeto do banco de dados e compartilhadas por meio do controle de versão.

ObservaçãoObservação

Configurações específicas do usuário são armazenadas na. arquivo de dbproj.User. Configurações específicas do projeto são armazenadas no arquivo .dbproj.

Configurações de projeto

As configurações na tabela a seguir se aplicam a todas as configurações deste projeto de banco de dados.

Campo

Valor padrão

Descrição

Versão do projeto

A versão do SQL Server que você especificou quando criou o projeto de banco de dados.

Especifica a versão do SQL Server direcionadas com este projeto de banco de dados.

Agrupamento para o modelo de banco de dados

Inglês (Estados Unidos) (1033) - CI

Especifica o padrão que, pelo qual dados são classificados e comparados na Base de regras SQL Server Compact Edition de banco de dados que armazena o modelo de banco de dados. Você deve especificar um valor para essa configuração como próximo ao seu agrupamento de banco de dados de destino possíveis. Talvez você queira diferem por caso. Por exemplo, você poderia usar um agrupamento de maiúsculas e minúsculas para o modelo e um agrupamento de maiúsculas e minúsculas do banco de dados. Você pode substituir o agrupamento padrão dentro das definições de objeto.

ObservaçãoObservação
O agrupamento padrão é o mesmo para todas as plataformas.Não altera o valor padrão para coincidir com a localidade atual.Você deve definir manualmente a intercalação padrão para o agrupamento apropriado para sua localidade.

Esquema padrão

dbo

Especifica o esquema padrão no qual os objetos são criados. Você pode substituir essa configuração quando você altera um ou mais definições de objetos.

Incluir o nome do esquema em nome do arquivo

Sim

Especifica se os nomes de arquivo incluem o esquema como prefixo, por exemplo, dbo.Products.Table.SQL. Se esta caixa de seleção estiver desmarcada, os nomes de arquivo para objetos assumem a forma ObjectName.ObjectType.sql

Arquivo de propriedades de catálogo

Properties\CatalogProperties.catalogproperties

Contém configurações de propriedade detalhadas para o banco de dados de destino. Todas as propriedades coincidir as propriedades de um SQL Server banco de dados. Para obter mais informações, consulte este tópico no site da Microsoft: Propriedades de banco de dados (página de opções).

Configurações de eventos de compilação

Você pode usar essas configurações para especificar uma linha de comando para executar antes do início da operação de compilação e uma linha de comando para executar após a operação de compilação é concluída.

Campo

Valor padrão

Descrição

Linha de comando do evento de pré-compilação

Nenhum

Especifica a linha de comando para executar antes que o projeto é construído. Clique em Pré-compilação de editar para modificar a linha de comando.

Linha de comando do evento de pós-compilação

Nenhum

Especifica a linha de comando para executar depois que o projeto é construído. Clique em Pós-compilação de editar para modificar a linha de comando.

Executar o evento pós-compilação

Na compilação bem-sucedida

Especifica se a linha de comando pós-compilação deve ser executada sempre, somente se a compilação foi bem-sucedida, ou somente quando a compilação atualizada a saída do projeto (o script de construção).

Para obter mais informações, consulte Como: Especificar ações personalizadas executadas Pre-Build ou Post-Build e Evento de pré- / caixa de diálogo de linha de comando do evento (projetos de banco de dados) de pós-compilação.

Referências

Você pode usar esta página para definir as variáveis de servidor e banco de dados que estão associadas uma referência entre bancos de dados. Além disso, você pode especificar os valores dessas variáveis. Para obter mais informações, consulte Usar referências em projetos de banco de dados.

Criar configurações

Você pode usar essas configurações para afetar o script de construção e o banco de dados de destino. Essas configurações são específicas para a configuração e plataforma que você especificar, e eles normalmente variam de usuário para usuário.

Campo

Valor padrão

Descrição

Compilar Caminho de Saída

. \sql\

Especifica onde o script de compilação será gerado quando você criar ou implanta o projeto de banco de dados. Se você especificar um caminho relativo, você deve especificá-lo relativo ao caminho de projeto de banco de dados. Se o caminho não existir, ele é criado.

Construir o nome do arquivo de saída

DatabaseProjectName. SQL

Especifica o nome que você deseja atribuir o script que é gerado quando você constrói o projeto de banco de dados. Se você tiver selecionado a gerar automaticamente o nome de arquivo de saída da compilação caixa de seleção, o nome do arquivo é gerado automaticamente substitui qualquer valor que você especificar neste campo.

Tratar avisos como erros

Não

Especifica se um aviso deve fazer com que o processo de compilação e implantação para ser cancelada. Se esta caixa de seleção estiver desmarcada, os avisos são exibidos, mas a continuar o processo de compilação e implantação.

Essa configuração é específica para o projeto, e não pelo usuário e é armazenada no arquivo .dbproj.

Suprimir Avisos

Em branco

Especifica uma lista de números, delimitados por vírgulas ou ponto e vírgula, que identificam os avisos são suprimidos. Avisos suprimidos não aparecem no Error List janela e eles não afetam o sucesso de compilação, mesmo se você selecionar o tratar avisos como erros caixa de seleção.

ObservaçãoObservação
Também é possível suprimir um tipo de aviso para um arquivo específico, se você não deseja suprimir desse tipo em todo o projeto de banco de dados.Para obter mais informações, consulte Como: Suprimir um ou mais tipos de avisos.

Implantar

Você pode usar essas configurações para controlar a implantação de seu projeto de banco de dados.

Campo

Valor padrão

Descrição

Definir as configurações de implantação para

Minhas configurações de projeto

Especifica se você deseja modificar as configurações de implantação para o projeto que é compartilhada com outros desenvolvedores ou que você deseja modificar as configurações de seu ambiente de desenvolvimento isolado apenas.

Ação de implantação

Criar um script de implantação (. SQL) e implantar banco de dados

Especifica se você deseja implantar o script. de SQL criado no servidor de destino ou criar o script sem implantá-lo.

Nome do script de implantação

ProjectName. SQL

Especifica o nome que você deseja usar para o script de implantação.

Conexão de destino

em branco

Especifica as informações de conexão para o servidor de banco de dados que você deseja destinar a configuração de compilação especificada.

Nome do banco de dados de destino

DatabaseProjectName

Especifica o nome do banco de dados a ser criado ou atualizado através da conexão que você especificar no campo de conexão de destino.

Arquivo de configuração de implantação

O arquivo de configuração de implantação contém detalhes que são específicos para cada destino de implantação, como a tabela a seguir descreve.

Campo

Valor padrão

Descrição

Agrupamento de comparação de implantação

Use o agrupamento do meu projeto.

Especifica qual agrupamento para usar ao comparar a origem e destino modelos durante a implantação. Se você clicar em usar o agrupamento do meu projeto, o agrupamento de origem é usado. Se você clicar em usar o agrupamento do servidor, e em seguida, o agrupamento de destino é usado.

Implantar as propriedades do banco de dados

Sim

Especifica se as configurações de CatalogProperties.catalogproperties são implantadas quando você implanta o projeto de banco de dados.

Sempre recriar o banco de dados

Não

Especifica se o banco de dados será descartado e recriado em vez de executar uma implantação incremental. Talvez você queira selecionar a caixa de seleção se você deseja executar testes de unidade de banco de dados contra uma implantação de limpeza do banco de dados, por exemplo. Se esta caixa de seleção estiver desmarcada, o banco de dados existente será atualizado em vez de deslocadas e recriadas.

Bloquear a implantação incremental se poderá ocorrer perda de dados

Sim

Especifica se a implantação irá parar se uma atualização causará a perda de dados. Se esta caixa de seleção estiver marcada, as alterações que criariam a perda de dados causam implantação pare com um erro, o que mantém os dados sejam perdidos. Por exemplo, a implantação seria parar se uma coluna de varchar(50) foram alterada para varchar(30).

ObservaçãoObservação
Implantação está bloqueada somente se as tabelas onde pode ocorrer perda de dados contêm dados.Implantação continua se nenhum dado será perdido.

Execute o script de implantação no modo de usuário único

Não

Especifica se o banco de dados deve ser colocado no modo de usuário único durante a implantação. Se você estiver implantando um servidor de banco de dados compartilhado, você deve colocar o banco de dados no modo de usuário único ao implantar as alterações do banco de dados. Essa etapa evita que outros usuários façam alterações enquanto você implanta o projeto. Essa opção não estará disponível se você habilitou a pesquisa de texto completo do As configurações do projeto guia das propriedades do projeto de banco de dados.

Observação importanteImportante
Quando o banco de dados no modo de usuário único, todas as outras conexões existentes no banco de dados são descartadas assim que você implanta as alterações no banco de dados.A cláusula de REVERSÃO imediata é especificada para que as transações pendentes serão encerradas assim que o banco de dados é colocado no modo de usuário único.

Fazer backup do banco de dados antes da implantação

Não

Especifica se o banco de dados deve ser feito antes de implantá-lo. Se esta caixa de seleção estiver desmarcada, um backup não é executado automaticamente. Se a caixa de seleção estiver marcada, declarações são adicionadas ao script de pré-implantação para fazer backup de seu banco de dados. Uma operação de backup pode ser lenta. Se você estiver criando e implantando em um ambiente de desenvolvimento isolado, você pode decidir não fazer backup do banco de dados antes de construir e implantá-lo.

Observação importanteImportante
Antes de implantar um servidor de produção, você sempre deve fazer backup do banco de dados.Se você não fizer backup do banco de dados automaticamente como parte do processo de compilação e implantação, você deve manualmente backup-lo antes de implantar as alterações.

Gerar instruções de SOLTAR para objetos de banco de dados de destino, mas que não estejam no projeto de banco de dados

Não

Especifica se os objetos que estão no banco de dados de destino, mas não no projeto de banco de dados deveriam ser eliminados, como parte do script de implantação. Você pode excluir alguns arquivos em seu projeto para remover temporariamente a seu script de compilação. No entanto, convém deixar as versões existentes desses objetos no banco de dados de destino. Esta caixa de seleção não terá efeito se a sempre recriar o banco de dados caixa de seleção estiver marcada, porque o banco de dados será descartado.

Não usar as instruções de ALTER ASSEMBLY para atualizar os tipos CLR

Não

Especifica se as instruções em ALTER ASSEMBLY são usadas para atualizar os tipos do common language runtime (CLR) ou se o objeto que instancia o tipo CLR será em vez disso descartados e recriado quando você implanta as alterações.

A tabela a seguir descreve as configurações avançadas de implantação.

Campo

Valor padrão

Descrição

AbortOnFirstError

True

Especifica se a implantação deve ser cancelada quando o primeiro erro ocorrer.

BuildtimeContributorsMustExist

True

Especifica se os colaboradores de implantação (que foram registrados quando o projeto de banco de dados foi compilação) são necessitam ser registrados quando o projeto é implantado.

CheckNewConstraints

True

Quando as restrições são criadas ou recriadas, especifica se, eles serão criados com a opção NOCHECK por padrão. No final do script de implantação, um bloco de instruções será adicionado que irá verificar todas as restrições como um conjunto. Definindo essa propriedade como True, você pode implantar o seu esquema sem encontrar dados de verificação de erros (devido a uma seleção ou uma restrição de chave estrangeira) no meio do processo de implantação, adiando os dados para o final do seu script de implantação.

CommentOutSetVarDeclarations

Falso

Especifica se a declaração de variáveis de SetVar deve ser comentada no script de implantação gerado. Você pode escolher fazer isso, se você planeja especificar os valores na linha de comando quando você implanta usando uma ferramenta como o SQLCMD.EXE.

DisableAndReenableDdlTriggers

True

Especifica se gatilhos Data Definition Language (DDL) são desabilitados no início do processo de implantação e reabilitados ao final do processo de implantação.

DropConstraintsNotInSource

True

Especifica se restrições que não existem em seu projeto de banco de dados serão removidas do banco de dados de destino ao implantar atualizações a um banco de dados.

DropIndexesNotInSource

True

Especifica se índices que não existem em seu projeto de banco de dados serão removidos do banco de dados de destino ao implantar atualizações a um banco de dados.

EnforceMinimalDependencies

Falso

Especifica se os corpos dos procedimentos, funções escalares e funções com valor de tabela são analisados e interpretados. Se você habilitar essa configuração, dependências dentro de corpos não são identificadas, mas as alterações na definição do objeto serão identificadas. Definindo essa opção como True, você pode melhorar o desempenho, mas as dependências perdidas podem causar problemas quando você implanta.

GenerateDeployStateChecks

True

Especifica se instruções são geradas no script de implantação para verificar que o nome do banco de dados e o nome do servidor coincidem com os nomes especificados no projeto de banco de dados.

IgnoreAnsiNulls

Falso

Especifica se diferenças na configuração ANSI Nulls devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreAuthorizer

Falso

Especifica se diferenças no Authorizer devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreColumnCollation

Falso

Especifica se diferenças nos agrupamentos de colunas devem ser ignorados ou atualizados ao implantar atualizações ao banco de dados.

Ser

Falso

Especifica se diferenças nos comentários devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreCryptographicProviderFilePath

Falso

Especifica se diferenças no caminho de arquivo para o provedor criptográfico devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreDdlTriggerOrder

Falso

Especifica as diferenças na ordem de disparadores de linguagem de definição de dados (DDL) devem ser ignoradas ou atualizadas quando você implantar atualizações em um servidor ou banco de dados.

IgnoreDdlTriggerState

Falso

Especifica se diferenças no estado habilitado ou desabilitado de gatilhos Data Definition Language (DDL) devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreDefaultSchema

Falso

Especifica se a configuração de esquema padrão do usuário deve ser atualizada, se for diferente, ao implantar atualizações em um banco de dados.

IgnoreDmlTriggerOrder

Falso

Especifica se diferenças na ordem de gatilhos Data Manipulation Language (DML) devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreDmlTriggerState

Falso

Especifica se diferenças no estado habilitado ou desabilitado de gatilhos DML devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreExtendedProperties

Falso

Especifica se diferenças nas propriedades estendidas devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreFilegroupPlacement

True

Especifica se diferenças no posicionamento de objetos em grupos de arquivos devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreFillFactor

True

Especifica se diferenças no fator de preenchimento para armazenamento de índices devem ser ignoradas ou se um aviso deve ser emitido ao implantar atualizações ao banco de dados.

IgnoreIdentitySeed

Falso

Especifica se diferenças na semente para uma coluna identidade devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreIncrement

Falso

Especifica se diferenças no incremento para uma coluna identidade devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreIndexOptions

Falso

Especifica se diferenças nas opções de índice devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreIndexPadding

True

Especifica se diferenças no preenchimento de índices devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreKeywordCasing

True

Especifica se diferenças na capitalização de palavras-chave devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreLockHintsOnIndexes

Falso

Especifica se diferenças nas dicas de bloqueio em índices devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreLoginSids

Falso

Especifica se diferenças no número de identificação de segurança (SID) devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreNotForReplication

Falso

Especifica as diferenças na configuração NOT FOR REPLICATION devem ser ignoradas ou atualizadas ao implantar atualizações em um banco de dados.

IgnoreObjectPlacementOnPartitionScheme

True

Especifica se diferenças no mapeamento de partições para uma tabela particionada ou índice para grupos de arquivos devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnorePartitionSchemes

Falso

Especifica se diferenças em esquemas de partição e funções devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnorePermissions

Falso

Especifica se diferenças nas permissões devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreQuotedIdentifiers

Falso

Especifica se diferenças na configuração de identificadores entre aspas devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreRoleMembership

Falso

Especifica se diferenças na associação de função de logins devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreRouteLifetime

True

Especifica se diferenças na quantidade de tempo que o SQL Server mantém a rota na tabela de roteamento devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreSemicolonBetweenStatements

True

Especifica se diferenças na ponto e vírgula entre Transact-SQL instruções serão ignoradas ou atualizadas quando você implanta atualizações para um banco de dados.

IgnoreStatisticsSample

True

Especifica se diferenças no exemplo usado para CREATE STATISTICS serão ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreTableOptions

Falso

Especifica se diferenças nas opções de tabela serão ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreUserSettingsObjects

Falso

Especifica se diferenças nos objetos de configuração de usuário serão ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreWhitespace

True

Especifica se diferenças em espaços em branco serão ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreWithNocheckOnCheckContraints

Falso

Especifica se diferenças no valor da cláusula WITH NOCHECK para restrições de verificação serão ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IgnoreWithNocheckOnForeignKeys

Falso

Especifica se diferenças no valor da cláusula WITH NOCHECK para chaves estrangeiras serão ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

IncludeTransactionalScripts

Falso

Especifica se instruções transacionais devem ser usados onde for possível ao implantar ao banco de dados.

ScriptDatabaseCollation

True

Especifica se diferenças no agrupamento do banco de dados devem ser ignoradas ou atualizadas ao implantar atualizações ao banco de dados.

TreatVerificationErrorsAsWarnings

Falso

Especifica se os erros encontrados durante a verificação de implantação devem ser tratados como avisos. A verificação é executada contra o plano de implantação gerado antes que o plano é executado no seu banco de dados de destino. Verificação de plano detecta problemas como, por exemplo, a perda de objetos somente de destino, como, por exemplo, índices, o que devem ser eliminados para fazer uma alteração. Verificação também irá detectar situações onde existem devido a uma referência a um projeto composto de dependências, como, por exemplo, uma tabela ou modo de exibição, mas não existem no banco de dados de destino. Você pode optar por fazer isso para obter uma lista completa de todos os problemas de implantação, em vez de implantação interromper no primeiro erro.

UnmodifiableObjectWarnings

True

Especifica se avisos devem ser gerados quando diferenças forem encontradas em objetos que não podem ser modificados, por exemplo, se o tamanho de arquivo ou caminho de arquivo for diferente para um arquivo.

VerifyDeployment

True

Especifica se as verificações devem ser executadas antes da implantação irá parar a implantação, se os problemas estão presentes podem bloquear a implantação bem-sucedida. Por exemplo, a implantação pode parar se você tiver chaves estrangeiras do banco de dados de destino que não existem no projeto de banco de dados e o que causará erros quando você implanta.

Consulte também

Tarefas

Como: Definir as configurações de compilação para o banco de dados e projetos de servidor

Como: Definir as configurações de implantação para o banco de dados e projetos de servidor

Como: Construir um projeto de banco de dados para gerar um esquema compilado (.dbschema) o arquivo

Como: Implantar alterações em bancos de dados novos ou existentes

Demonstra Passo a passo: Criar e implantar um novo banco de dados com versão controlada

Demonstra Passo a passo: Implantar alterações em um banco de dados existente do controle de versão

Como: Suprimir um ou mais tipos de avisos

Como: Definir variáveis para projetos de banco de dados

Conceitos

Uma visão geral do banco de dados compilação e implantação