Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
SQLCMD-variabler används i SQL-projekt för att skapa dynamiskt utbytbara token i SQL-objekt och skript. Värdena för dessa variabler anges vid distributionstillfället och kan användas för att dynamiskt ange värden i ett SQL-projekt. Värden för SQLCMD-variabler kan anges i publiceringsåtgärden eller via en publiceringsprofil.
EXEMPEL och syntax för SQL-projektfil
SQLCMD-variabler definieras i .sqlproj filen under ett <ItemGroup> objekt. I det här exemplet definieras variabeln EnvironmentName med standardvärdet testing:
...
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
</Project>
Elementet DefaultValue är valfritt. När ett standardvärde anges används det endast i publiceringsdialogen för grafiska verktyg inom SQL-projekt. Standardvärdet kompileras inte till .dacpac filen och en kommandoradsdistribution utan de värden som anges av en publiceringsprofil eller /v alternativet för att ange värden resulterar i tomma värden för SQLCMD-variablerna.
Använda SQLCMD-variabler i SQL-objekt
SQLCMD-variabler kan användas i SQL-objekt och skript genom att omsluta variabelnamnet i $(variableName) syntaxen. Följande SQL-skript använder till exempel variabeln $(EnvironmentName) för att styra skriptbeteendet:
IF '$(EnvironmentName)' = 'testing'
BEGIN
-- do something
END
Använda SQLCMD-variabler i publiceringsåtgärder
SQLCMD-variabler kan anges vid distributionstillfället med hjälp av /v alternativet i kommandoradsverktyget SqlPackage . Följande kommando anger till exempel variabeln EnvironmentName till production:
sqlpackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production
Lägga till och använda SQLCMD-variabler
Om du vill lägga till en SQLCMD-variabel i ett SQL-projekt i Visual Studio högerklickar du på projektet i Solution Explorer och väljer Egenskaper. På fliken SQLCMD-variabler i egenskapsfönstret anger du variabelnamnet och eventuellt ett standardvärde.
När variabeln har definierats kan den användas i SQL-skript genom att omsluta variabelnamnet i $(variableName) syntaxen.
När du publicerar projektet från Visual Studio anges SQLCMD-variabler i publiceringsdialogrutan. Använd knappen Läs in värden för att läsa in standardvärdena från SQL-projektet i dialogrutan.
Om du vill lägga till en SQLCMD-variabel i ett SQL-projekt i Visual Studio högerklickar du på projektet i Solution Explorer och väljer Egenskaper. I avsnittet SQLCMD-variabler i egenskapsfönstret anger du variabelnamnet och eventuellt ett standardvärde.
När variabeln har definierats kan den användas i SQL-skript genom att omsluta variabelnamnet i $(variableName) syntaxen.
När du publicerar projektet från Visual Studio anges SQLCMD-variabler i publiceringsdialogrutan. Använd knappen Läs in värden för att läsa in standardvärdena från SQL-projektet i dialogrutan.
Om du vill lägga till en SQLCMD-variabel i ett SQL-projekt i SQL Database Projects-tillägget högerklickar du på noden SQLCMD-variabler under projektet i vyn Databasprojekt och väljer Lägg till SQLCMD-variabel. Ange variabelnamnet och eventuellt ett standardvärde.
När variabeln har definierats kan den användas i SQL-skript genom att omsluta variabelnamnet i $(variableName) syntaxen.
När du publicerar projektet från SQL Database Projects-tillägget läses VÄRDEN för SQLCMD-variabler automatiskt in från standardvärdena. Du kan ange alternativa värden när du uppmanas att ändra värdena under publiceringsprocessen.
Om du vill lägga till en SQLCMD-variabel i ett SQL-projekt lägger du till ett <ItemGroup> objekt i .sqlproj filen med ett <SqlCmdVariable> objekt för varje variabel. Objektet <SqlCmdVariable> innehåller variabelnamnet, ett standardvärde och ett värde som kan anges vid distributionstillfället.
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
När variabeln har definierats kan den användas i SQL-skript genom att omsluta variabelnamnet i $(variableName) syntaxen.
När du distribuerar projektet från kommandoraden kan SQLCMD-variabler anges med hjälp av /v alternativet i kommandoradsverktyget SqlPackage .
Till exempel:
SqlPackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production