Vue d’ensemble des variables SQLCMD
S'applique à : Serveur SQL Base de données Azure SQL Instance gérée Azure SQL Base de données SQL dans Microsoft Fabric
Les variables SQLCMD sont utilisées dans les projets SQL pour créer des jetons remplaçables dynamiquement dans les objets et les scripts SQL. Les valeurs de ces variables sont définies au moment du déploiement et peuvent être utilisées pour définir dynamiquement des valeurs dans un projet SQL. Les valeurs des variables SQLCMD peuvent être définies dans l'action de publication ou par le biais d'un profil de publication.
Exemple et syntaxe de fichier projet SQL
Les variables SQLCMD sont définies dans le fichier .sqlproj
sous un élément <ItemGroup>
. Dans cet exemple, la variable EnvironmentName
est définie avec une valeur par défaut de testing
:
...
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
</Project>
L’élément DefaultValue
est facultatif. Lorsqu'une valeur par défaut est fournie, elle n'est utilisée que pour charger la boîte de dialogue de publication des outils d’image pour les projets SQL. La valeur par défaut n'est pas compilée dans le fichier .dacpac
et un déploiement en ligne de commande sans les valeurs spécifiées par un profil de publication ou l'option /v
pour spécifier les valeurs entraîne des valeurs vides pour les variables SQLCMD.
Utiliser des variables SQLCMD dans des objets SQL
Les variables SQLCMD peuvent être utilisées dans des objets et des scripts SQL en enveloppant le nom de la variable dans la syntaxe $(variableName)
. Par exemple, le script SQL suivant utilise la variable $(EnvironmentName)
pour contrôler le comportement du script :
IF '$(EnvironmentName)' = 'testing'
BEGIN
-- do something
END
Utiliser les variables SQLCMD dans les actions de publication
Les variables SQLCMD peuvent être définies au moment du déploiement à l'aide de l'option /v
de l'outil en ligne de commande SqlPackage. Par exemple, la commande suivante définit la variable EnvironmentName
sur production
:
sqlpackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production
Ajouter et utiliser des variables SQLCMD
Pour ajouter une variable SQLCMD à un projet SQL dans Visual Studio, cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions et sélectionnez Propriétés. Dans l'onglet Variables SQLCMD de la fenêtre propriétés, spécifiez le nom de la variable et éventuellement une valeur par défaut.
Une fois la variable définie, elle peut être utilisée dans des scripts SQL en enveloppant le nom de la variable dans la syntaxe $(variableName)
.
Lorsque vous publiez le projet à partir de Visual Studio, les variables SQLCMD sont définies dans la boîte de dialogue de publication. Le bouton Charger les valeurs permet de charger les valeurs par défaut du projet SQL dans la boîte de dialogue.
Pour ajouter une variable SQLCMD à un projet SQL dans Visual Studio, cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions et sélectionnez Propriétés. Dans la section Variables SQLCMD de la fenêtre propriétés, spécifiez le nom de la variable et éventuellement une valeur par défaut.
Une fois la variable définie, elle peut être utilisée dans des scripts SQL en enveloppant le nom de la variable dans la syntaxe $(variableName)
.
Lorsque vous publiez le projet à partir de Visual Studio, les variables SQLCMD sont définies dans la boîte de dialogue de publication. Le bouton Charger les valeurs permet de charger les valeurs par défaut du projet SQL dans la boîte de dialogue.
Pour ajouter une variable SQLCMD à un projet SQL dans l'extension Projets de bases de données SQL, cliquez avec le bouton droit sur le nœud Variables SQLCMD sous le projet dans la vue Projets de bases de données et sélectionnez Ajouter une variable SQLCMD. Spécifiez le nom de la variable et éventuellement une valeur par défaut.
Une fois la variable définie, elle peut être utilisée dans des scripts SQL en enveloppant le nom de la variable dans la syntaxe $(variableName)
.
Lorsque vous publiez le projet à partir de l'extension Projets de bases de données SQL, les valeurs des variables SQLCMD sont automatiquement chargées à partir des valeurs par défaut. Vous pouvez fournir des valeurs alternatives en cas de demande de modification des valeurs au cours du processus de publication.
Pour ajouter une variable SQLCMD à un projet SQL, ajoutez un élément <ItemGroup>
au fichier .sqlproj
avec un élément <SqlCmdVariable>
pour chaque variable. L'élément <SqlCmdVariable>
comprend le nom de la variable, une valeur par défaut et une valeur qui peut être définie au moment du déploiement.
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
Une fois la variable définie, elle peut être utilisée dans des scripts SQL en enveloppant le nom de la variable dans la syntaxe $(variableName)
.
Lorsque vous déployez le projet à partir de la ligne de commande, les variables SQLCMD peuvent être définies à l'aide de l'option /v
de l'outil en ligne de commande SqlPackage.
Par exemple :
SqlPackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production