Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
SQL-Datenbank in Microsoft Fabric
SQLCMD-Variablen werden in SQL-Projekten verwendet, um dynamisch ersetzbare Token in SQL-Objekten und -Skripts zu erstellen. Die Werte dieser Variablen werden zur Bereitstellungszeit festgelegt und können verwendet werden, um Werte in einem SQL-Projekt dynamisch festzulegen. Werte für SQLCMD-Variablen können im Veröffentlichungsvorgang oder über ein Veröffentlichungsprofil festgelegt werden.
SQL-Projektdateibeispiel und Syntax
SQLCMD-Variablen werden in der .sqlproj
-Datei unter einem <ItemGroup>
-Element definiert. In diesem Beispiel wird die Variable EnvironmentName
mit einem Standardwert von testing
definiert:
...
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
</Project>
Das DefaultValue
-Element ist optional. Wenn ein Standardwert bereitgestellt wird, wird er nur zum Laden im Dialogfeld „Veröffentlichen“ von grafischen Tools für SQL-Projekte verwendet. Der Standardwert wird nicht in die .dacpac
-Datei kompiliert, und eine Befehlszeilenbereitstellung ohne die durch ein Veröffentlichungsprofil angegebenen Werte oder die /v
-Option zum Angeben von Werten führt zu leeren Werten für die SQLCMD-Variablen.
Verwenden von SQLCMD-Variablen in SQL-Objekten
SQLCMD-Variablen können in SQL-Objekten und Skripts verwendet werden, indem sie den Variablennamen in die $(variableName)
-Syntax umbrechen. Das folgende SQL-Skript verwendet beispielsweise die $(EnvironmentName)
-Variable zum Steuern des Skriptverhaltens:
IF '$(EnvironmentName)' = 'testing'
BEGIN
-- do something
END
Verwenden von SQLCMD-Variablen in Veröffentlichungsvorgängen
SQLCMD-Variablen können zur Bereitstellungszeit mithilfe der /v
-Option im SqlPackage-Befehlszeilentool festgelegt werden. Der folgende Befehl setzt die EnvironmentName
-Variable beispielsweise auf production
:
sqlpackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production
Hinzufügen und Verwenden von SQLCMD-Variablen
Wenn Sie einem SQLCMD-Projekt in Visual Studio eine SQLCMD-Variable hinzufügen möchten, klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Eigenschaften aus. Geben Sie auf der Registerkarte SQLCMD-Variablen des Eigenschaftenfensters den Variablennamen und optional einen Standardwert an.
Nachdem die Variable definiert wurde, kann sie in SQL-Skripts verwendet werden, indem sie den Variablennamen in die $(variableName)
-Syntax umschließen.
Wenn Sie das Projekt aus Visual Studio veröffentlichen, werden SQLCMD-Variablen im Veröffentlichungsdialogfeld festgelegt. Verwenden Sie die Schaltfläche Werte laden, um die Standardwerte aus dem SQL-Projekt in den Dialog zu laden.
Wenn Sie einem SQLCMD-Projekt in Visual Studio eine SQLCMD-Variable hinzufügen möchten, klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Eigenschaften aus. Geben Sie im Abschnitt SQLCMD-Variablen des Eigenschaftenfensters den Variablennamen und optional einen Standardwert an.
Nachdem die Variable definiert wurde, kann sie in SQL-Skripts verwendet werden, indem sie den Variablennamen in die $(variableName)
-Syntax umschließen.
Wenn Sie das Projekt aus Visual Studio veröffentlichen, werden SQLCMD-Variablen im Veröffentlichungsdialogfeld festgelegt. Verwenden Sie die Schaltfläche Werte laden, um die Standardwerte aus dem SQL-Projekt in den Dialog zu laden.
Wenn Sie einem SQLCMD-Projekt in der Erweiterung SQL Database Projects eine SQLCMD-Variable hinzufügen möchten, klicken Sie mit der rechten Maustaste auf den Knoten SQLCMD-Variablen" unter dem Projekt in der Anzeige Datenbankprojekte und wählen Sie SQLCMD-Variable hinzufügen aus. Geben Sie den Variablennamen und optional einen Standardwert an.
Nachdem die Variable definiert wurde, kann sie in SQL-Skripts verwendet werden, indem sie den Variablennamen in die $(variableName)
-Syntax umschließen.
Wenn Sie das Projekt aus der Erweiterung SQL Database Projects veröffentlichen, werden SQLCMD-Variablenwerte automatisch aus den Standardwerten geladen. Sie können alternative Werte bereitstellen, wenn Sie aufgefordert werden, die Werte während des Veröffentlichungsprozesses zu ändern.
Wenn Sie einem SQL-Projekt eine SQLCMD-Variable hinzufügen möchten, fügen Sie der .sqlproj
-Datei ein <ItemGroup>
-Element mit einem <SqlCmdVariable>
-Element für jede Variable hinzu. Das <SqlCmdVariable>
-Element enthält den Variablennamen, einen Standardwert und einen Wert, der zur Bereitstellungszeit festgelegt werden kann.
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
Nachdem die Variable definiert wurde, kann sie in SQL-Skripts verwendet werden, indem sie den Variablennamen in die $(variableName)
-Syntax umschließen.
Wenn Sie das Projekt über die Befehlszeile bereitstellen, können SQLCMD-Variablen mithilfe der /v
-Option im Befehlszeilentool SqlPackage festgelegt werden.
Zum Beispiel:
SqlPackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production