Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de données SQL dans Microsoft Fabric
Les scripts de prédéploiement et de post-déploiement sont des scripts SQL inclus dans le projet à exécuter pendant le déploiement. Les scripts de pré/post-déploiement sont inclus dans le .dacpac modèle objet de base de données, mais ils ne sont pas compilés ou validés avec le modèle objet de base de données. Un script de prédéploiement est exécuté avant l’exécution du plan de déploiement, mais le plan de déploiement est calculé avant l’exécution du script. Un script post-déploiement est exécuté une fois le plan de déploiement terminé.
Exemple et syntaxe de fichier projet SQL
Un fichier projet SQL peut avoir un seul script de prédéploiement et un seul script post-déploiement spécifié.
L’exemple suivant d’un fichier projet SQL ajoute le fichier prep-db.sql en tant que script de prédéploiement.
...
<ItemGroup>
<PreDeploy Include="prep-db.sql" />
</ItemGroup>
L’exemple suivant tiré d’un fichier projet SQL ajoute le fichier populate-app-settings.sql en tant que script de post-déploiement.
...
<ItemGroup>
<PostDeploy Include="populate-app-settings.sql" />
</ItemGroup>
</Project>
Plusieurs fichiers peuvent être exécutés dans le cadre d’un script de prédéploiement ou de post-déploiement à l’aide d’un script SQLCMD qui appelle chaque fichier dans l’ordre.
:r .\scripts\script1.sql
:r .\scripts\script2.sql
Ces fichiers doivent être exclus de la build du modèle de base de données en définissant la Build Action propriété Remove dans les propriétés de fichier dans Visual Studio ou en ajoutant une entrée pour le fichier dans le .sqlproj fichier avec l’attribut Build défini sur Remove. Lorsque le projet SQL est généré, les fichiers supplémentaires sont combinés avec leur script de prédéploiement ou de post-déploiement dans le .dacpac par le SDK du projet Microsoft.Build.Sql.
...
<ItemGroup>
<Build Remove="scripts\script1.sql" />
<Build Remove="scripts\script2.sql" />
</ItemGroup>
</Project>
Dans les projets SQL de style SDK, l’ajout d’une Build Remove="path\file.sql" entrée supprime entièrement le fichier du projet, ce qui l’entraîne à ne plus apparaître dans la vue du projet Visual Studio Code. Pour conserver le fichier visible tout en l’excluant de la compilation du modèle, ajoutez-le à nouveau en tant qu’élément None :
...
<ItemGroup>
<Build Remove="scripts\script1.sql" />
<None Include="scripts\script1.sql" />
<Build Remove="scripts\script2.sql" />
<None Include="scripts\script2.sql" />
</ItemGroup>
</Project>
Cela empêche la compilation du fichier dans le cadre du modèle de base de données tout en la conservant visible dans le projet.
Tip
Vous pouvez valider les scripts de prédéploiement et de post-déploiement après la génération du projet, en modifiant l’extension de .dacpac fichier en .zip et en désarchivant le .zip fichier dans un dossier. Un seul .sql fichier est présent pour les scripts de prédéploiement et de post-déploiement, et doit contenir l’intégralité du contenu Transact-SQL de tous les fichiers référencés dans le projet SQL d’origine.
Ajouter des scripts de prédéploiement et de post-déploiement
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis sélectionnez Ajouter>un script. Sélectionnez Script de prédéploiement ou script post-déploiement.
Le fichier de script est ajouté au projet et ouvert dans l’éditeur de requête, où vous pouvez terminer le script. Ce script est exécuté avant ou après l’exécution du plan de déploiement, chaque fois que le projet est déployé.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet, puis sélectionnez Ajouter>un nouvel élément. La boîte de dialogue Ajouter un nouvel élément s’affiche, sélectionnez Afficher le tableau Tous les modèles>, puis sélectionnezScript de prédéploiement ou script post-déploiement.
Le fichier de script est ajouté au projet et ouvert dans l’éditeur de requête, où vous pouvez terminer le script. Ce script est exécuté avant ou après l’exécution du plan de déploiement, chaque fois que le projet est déployé.
Dans la vue Projets de base de données de Visual Studio Code ou d’Azure Data Studio, cliquez avec le bouton droit sur le projet, puis sélectionnez Ajouter un script de prédéploiement ou ajouter un script post-déploiement. Fournissez un nom de script sans l’extension de fichier.
Le fichier de script est ajouté au projet et ouvert dans l’éditeur de requête, où vous pouvez terminer le script. Ce script est exécuté avant ou après l’exécution du plan de déploiement, chaque fois que le projet est déployé.
Modifiez le .sqlproj fichier directement pour ajouter des scripts de prédéploiement ou de post-déploiement. Ajoutez un élément <PreDeploy> ou <PostDeploy> à la section <ItemGroup> du fichier .sqlproj.
Par exemple, pour ajouter le script scripts\before-script.sql à notre projet en tant que script de prédéploiement :
...
<ItemGroup>
<PreDeploy Include="scripts\before-script.sql" />
</ItemGroup>
Ce script scripts\before-script.sql est exécuté avant l’exécution du plan de déploiement, chaque fois que le projet est déployé.