Compartilhar via


Visão geral de scripts pré e pós-implantação

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Os scripts de pré/pós-implantação são scripts SQL incluídos no projeto para serem executados durante a implantação. Eles estão incluídos em .dacpac, mas não são compilados ou validados com o modelo de objeto de banco de dados. Um script pré-implantação é executado antes da execução do plano de implantação, mas o plano de implantação é calculado antes da execução do script. Um script pós-implantação é executado após a conclusão do plano de implantação.

Exemplo e sintaxe do arquivo de projeto SQL

Um arquivo de projeto SQL pode ter um único script pré-implantação e um único script pós-implantação especificado.

O exemplo a seguir de um arquivo de projeto SQL adiciona o arquivo prep-db.sql como um script pré-implantação.

...
  <ItemGroup>
    <PreDeploy Include="prep-db.sql" />
  </ItemGroup>

O exemplo a seguir de um arquivo de projeto SQL adiciona o arquivo populate-app-settings.sql como um script de pós-implantação.

...
  <ItemGroup>
    <PostDeploy Include="populate-app-settings.sql" />
  </ItemGroup>
</Project>

Vários arquivos podem ser executados como parte de um script pré ou pós-implantação usando um script SQLCMD que chama cada arquivo em ordem.

:r .\scripts\script1.sql
:r .\scripts\script2.sql

Esses arquivos devem ser excluídos da compilação do modelo de banco de dados definindo a propriedade Build Action como None nas propriedades do arquivo no Visual Studio ou adicionando uma entrada para o arquivo no arquivo .sqlproj com o atributo Build definido como None.

...
  <ItemGroup>
    <Build Remove="scripts\script1.sql" />
    <Build Remove="scripts\script2.sql" />
  </ItemGroup>
</Project>

Adicionar scripts pré e pós-implantação

No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e selecione Adicionar>Script. Selecione o Script pré-implantação ou Pós-implantação.

O arquivo de script é adicionado ao projeto e aberto no editor de consultas, onde você pode concluir o script. Esse script será executado antes ou depois que o plano de implantação for executado sempre que o projeto for implantado.

No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Adicionar, e depois em Novo Item. A caixa de diálogo Adicionar Novo Item aparece, selecione Mostrar Todos os Modelos. e, em seguida, Tabela. Selecione o Script pré-implantação ou Pós-implantação.

O arquivo de script é adicionado ao projeto e aberto no editor de consultas, onde você pode concluir o script. Esse script será executado antes ou depois que o plano de implantação for executado sempre que o projeto for implantado.

Na exibição Projetos de Banco de Dados do VS Code ou do Azure Data Studio, clique com o botão direito do mouse no projeto e selecione Adicionar Script Pré-Implantação ou Adicionar Script Pós-Implantação. Forneça um nome de script sem a extensão do arquivo.

O arquivo de script é adicionado ao projeto e aberto no editor de consultas, onde você pode concluir o script. Esse script será executado antes ou depois que o plano de implantação for executado sempre que o projeto for implantado.

Edite o arquivo .sqlproj diretamente para adicionar scripts pré ou pós-implantação. Adicione um item <PreDeploy> ou <PostDeploy> à seção <ItemGroup> do arquivo .sqlproj.

Por exemplo, para adicionar o script scripts\before-script.sql ao nosso projeto como um script pré-implantação:

...
  <ItemGroup>
    <PreDeploy Include="scripts\before-script.sql" />
  </ItemGroup>

Esse script scripts\before-script.sql é executado antes que o plano de implantação seja executado toda vez que o projeto é implantado.