Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Banco de Dados SQL no Microsoft Fabric
Os scripts de pré/pós-implantação são scripts SQL incluídos no projeto para serem executados durante a implantação. Os scripts de pré/pós-implantação estão incluídos em .dacpac
, mas não são compilados nem validados com o modelo de objeto do 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 Remove
nas propriedades do arquivo no Visual Studio ou adicionando uma entrada para o arquivo no arquivo .sqlproj
com o atributo Build
definido como Remove
. Quando o projeto SQL é criado, os arquivos adicionais são combinados nos seus scripts de pré-implantação ou pós-implantação de referência no .dacpac
pelo SDK do projeto Microsoft.Build.Sql.
...
<ItemGroup>
<Build Remove="scripts\script1.sql" />
<Build Remove="scripts\script2.sql" />
</ItemGroup>
</Project>
Dica
Você pode validar os scripts de pré-implantação e pós-implantação após o build do projeto, alterando a extensão de arquivo .dacpac
para .zip
e desarquivando o .zip
para uma pasta. Um único .sql
arquivo está presente para scripts de pré-implantação e pós-implantação e deve conter todo o conteúdo Transact-SQL de todos os arquivos referenciados no projeto SQL de origem.
Adicionar scripts de 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 de pré-implantação ou Script de 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 de pré-implantação ou Script de 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 de 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.