Partilhar via


Visão geral da implantação e criação de banco de dados

Para implantar um novo banco de dados ou alterações em um banco de dados existente do seu projeto de banco de dados para um servidor de banco de dados, você deve compilação o projeto de banco de dados e, em seguida, implantá-lo em seu servidor de banco de dados.A etapa de compilação monta os scripts de definição de objeto e qualquer pre-deployment ou POST-scripts de implantação em um único criar script, usando propriedades que você conjunto na janela Propriedades do projeto.A etapa de implantação tanto monta o script e, em seguida, executa que compilação script contra o destino que você especificar.A ação de limpeza na construção exclui apenas os scripts de compilação existente.Se você for para atualizar um servidor de teste ou produção, provavelmente compilação o projeto de banco de dados e modifique o compilação script você mesmo.Depois que você fez suas ajustes e estiver satisfeito com o resultado, você pode então manualmente implantar que modificados compilação script no ambiente de produção.

Scripts de implantação

Você pode especificar scripts que são executados antes ou depois de scripts que criam ou atualização o destino.Você pode ter somente um script pré-implantação e um script pós-implantação, mas você pode incluir outros scripts a partir desses scripts.Para obter mais informações, consulte Trabalhando com scripts de banco de dados.

Você pode executar um compilação script em bancos de dados de destino diferentes, cada um que possa ter uma configuração diferente.Portanto, o compilação script contém instruções para conjunto todas as propriedades de banco de dados, mesmo que seus valores já correspondam das propriedades do projeto de banco de dados.

Considerações para implantação de um banco de dados existente

Ao implantar um banco de dados existente, algumas alterações podem causar perda de dados.Se essa alterar poderia causar a perda de dados que contém a tabela, a implantação será cancelada, a menos que você tenha desmarcado a Bloqueio de implantação incremental se pode ocorrer perda de dados caixa de seleção na janela Propriedades do projeto.Para obter mais informações, consulte Uma visão geral das configurações do projeto de banco de dados.Exemplos de alterações que causará a perda de dados são: Se uma tabela é descartada e recriada, se você alterar o dimensionar de uma coluna (char(100) char(50) ou nchar(100) para char(100)), ou se você alterar o agrupamento de uma coluna de tipo de caractere.

Recuperação de implantações de falha

Team Edition for Database Professionals cria um salvar point-in do log de transações e podem reverter para que salvar ponto se a distribuição falhar. No entanto, dados podem ser perdidos se os dados no banco de dados são modificados durante a implantação entre quando o salvar ponto foi criado e quando o banco de dados foi revertido.Por esse motivo, se você estiver implantando em um banco de dados compartilhado, você deve considerar seriamente colocar o banco de dados no modo de usuário único antes de implantá-lo.

Observação:

Você deve usar o modelo de recuperação completa restauração um banco de dados de uma implantação falha.O modelo de recuperação simples não é suficiente porque o log de transação é necessário.Para obter mais informações sobre modelos de recuperação, consulte Visão geral dos modelos de recuperação.

Arquivos excluídos

Se você excluir arquivos de seu projeto de banco de dados, o objetos de banco de dados que foram definidas dentro desses arquivos não serão incluídos na compilação ou implantação.Se você ainda estiver trabalhando em um ou mais objetos, mas deseja implantar o trabalho já estiver concluído, você pode excluir arquivos para implantar somente os itens que estão prontos.Você pode incluir os arquivos mais tarde quando elas estiverem prontas para serem implantados e implantação atualizará o banco de dados com os novos objetos sem modificar objetos existentes (se eles não tiverem sido alterados no seu projeto).

Compilações de linha de comando

Além executando a compilação, implantar, ou limpar ações de dentro de Visual Studio interface do usuário, você também pode executar essas ações sistema autônomo parte de uma compilação de linha de comando usando MSBuild.exe. Você pode especificar compilação, implantar, re compilação, limpar, SQL compilação, SQLDeploy e CleanProject destinos.Por padrão, a compilação e implantar as propriedades de projeto são definidas dentro do projeto de banco de dados de uso de processos (no arquivo .dbproj ou a. dbproj.usuário arquivo).No entanto, você pode substituir essas propriedades na linha de comando ou de dentro um arquivo de resposta.

Observação importante:

Você deve fechar o Visual Studio antes de executar uma compilação de linha de comando. Se você executar uma compilação de linha de comando durante Visual Studio está sendo executado, alguns erros podem não ser detectados.

Sintaxe de linha de comando

Você pode criar o projeto de banco de dados da command linha usando sintaxe simples, sistema autônomo mostram sistema autônomo exemplos a seguir:

  • MSBuild /destino:compilação MySolutionName.sln
    Este exemplo executa a ação de compilação da solução chamado MySolutionName .sln usando as propriedades de projeto são especificadas nos arquivos de projeto a solução contém.Se a solução contém um ou mais projetos de banco de dados, eles serão criados juntamente com o restante da solução.A ação de compilação irá gerar o script que é necessário para criar ou atualização de banco de dados de destino, mas o script não será implantado.Você também pode compilação um projeto de banco de dados específico.O destino de compilação inclui pre-deployment e POST-scripts de implantação no script de construção gerado.

  • MSBuild /destino:SQLBuild MyProjectName .dbproj
    Este exemplo também executa uma ação somente de compilação.Ele cria um único projeto de banco de dados chamado MyProjectName .dbproj.As propriedades do projeto dentro do arquivo .dbproj são usadas para montar o compilação script.O script não será implantado.O SQL compilação alvo não inclui scripts pré-implantação ou pós-implantação no gerado compilação script.

  • MSBuild /destino:compilação /p:BuildScriptName = MyScriptName.sql MyProjectName .dbproj
    Este exemplo também executa uma ação somente de compilação.Ele cria um único projeto de banco de dados chamado MyProjectName .dbproj.As propriedades do projeto dentro do arquivo .dbproj são usadas para montar o compilação script. Prevalece sobre a linha de comandoBuildScriptName propriedade e especifica um novo nome para o script de saída. Você pode usar essa abordagem se você deseja implantar o compilação script para vários servidores.O script não será implantado.

  • / MSBuild destino: implantar \SQLEXPRESS;Integrated /propriedade:Targetdadosbase=UpdatedTargetdadosbase;TargetConnectionString="fonte de dados= (local) segurança = True; pool = False"MyProjectName .dbproj
    Este exemplo demonstra como implantar o projeto de banco de dados, substituindo a seqüência de nome e a conexão de banco de dados destino.

  • MSBuild /destino:recompilar p: configuração = /p:DefaultDataPath "Padrão" = "Unidade:Caminho\\" MyProjectName .dbproj
    Este exemplo demonstra como recompilar o projeto de banco de dados, especifique uma configuração (padrão) e substituir a variável DefaultDataPath.

Observação importante:

Você deve especificar a barra invertida extra à direita ("\") para o DefaultDataPath.Caso contrário, os avisos aparecerá quando você compilação, e que seu projeto de banco de dados não serão compilação corretamente.

  • / MSBuild destino: implantar /propriedade:BuildScriptName = MyScriptName. SQL /propriedade:outdir =BuildScriptPath /propriedade:TargetDatabase =UpdatedTargetDatabase; TargetConnectionString = "dados fonte =InstanceName\DatabaseName; Segurança integrada = True; pool = False " ProjectPath\MyProjectName .dbproj
    Este exemplo mostra como implantar um banco de dados a partir de um computador diferente no qual ocorreu a compilação.Por exemplo, convém usar esta linha de comando se você tiver um computador central compilação que cria um script de construção todas as noites.Você deve especificar o nome do compilação script, o caminho onde o compilação script pode ser encontrado (outdir), o banco de dados de destino e o caminho e o nome do arquivo do banco de dados do projeto.

  • MSBuild @dbbuild.arf MyProjectName .dbproj
    Este exemplo mostra como usar um arquivo de resposta para fornecer argumentos de linha de comando.O arquivo, dbbuild.arf, pode conter qualquer válidas MSBuild opções de linha de comando, incluindo aqueles que substituir propriedades do projeto.Para obter mais informações sobre arquivos de resposta, consulte Arquivos de resposta do MSBuild.

  • MSBuild /destino:recompilar MyProjectName .dbproj
    Este exemplo recria o projeto especificado ou solução, mesmo se ele não foi alterado desde a última vez que ele foi criado.

  • / MSBuild destino: limpar MyProjectName .dbproj
    Este exemplo demonstra como excluir quaisquer scripts de compilação existente.Mais comumente, provavelmente siga esta ação com outra compilação ou implantar a ação.

Observação:

Você pode abreviar/destino: sistema autônomo/t: e /propriedade: sistema autônomo /p:.

Para obter mais informações sobre opções de linha de comando do MSBuild, consulte Referência de linha de comando do MSBuild.

Para obter mais informações sobre arquivos de resposta, consulte Resposta do MSBuild.

Observação:

Para executar MSBuild.exe, ou você deve usar o Visual Studio 2005 aviso de comando ou você necessário executar o arquivo de lote de vsvars32.bat encontrado na pasta especificada pela variável de ambiente % VS80COMNTOOLS %.

Propriedades do projeto de banco de dados

Algumas propriedades de projeto de banco de dados afetam como seu projeto de banco de dados será criado e implantado.Essas propriedades são armazenadas no arquivo de projeto de banco de dados e o arquivo. usuário e você pode substituí-los com uma linha de comando ou em um arquivo de resposta.Para obter mais informações sobre propriedades de projeto de banco de dados, consulte Uma visão geral das configurações do projeto de banco de dados.

Considerações sobre segurança

Se outros usuários podem modificar sua instância do banco de dados de validação em time de design, pode adicionar ou alterar objetos terminarão em seu compilação script.A saída de construção produzirá esses objetos (por exemplo, os disparadores DDL) e eles serão executados no contexto da pessoa que implanta o banco de dados.Esses objetos não necessariamente aparecerão no O gerenciador de soluções or Exibição esquema.Comparação de esquema não irá detectar nada quando você compara o projeto de banco de dados do banco de dados distribuído porque o banco de dados de validação em time de design também contém os objetos.

Para minimizar o risco para o banco de dados:

  • Não compartilhe sua instância do banco de dados de validação em time de design com outros usuários.

  • Seus scripts de compilação antes de analisar implantar-los.

Consulte também

Tarefas

Como: Preparar os scripts de compilação do banco de dados

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

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

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

Conceitos

Visão geral da terminologia do banco de dados edição