Sdílet prostřednictvím


Přehled proměnných SQLCMD

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Proměnné SQLCMD se používají v projektech SQL k vytváření dynamicky nahraditelných tokenů v objektech a skriptech SQL. Hodnoty těchto proměnných jsou nastavené v době nasazení a lze je použít k dynamickému nastavení hodnot v projektu SQL. Hodnoty proměnných SQLCMD lze nastavit v akci publikování nebo prostřednictvím profilu publikování.

Snímek obrazovky s proměnnou SQLCMD EnvironmentName, která není nastavená do nasazení

Ukázka a syntaxe souboru projektu SQL

Proměnné SQLCMD jsou definovány v .sqlproj souboru pod položkou <ItemGroup> . V tomto příkladu je proměnná EnvironmentName definována s výchozí hodnotou testing:

...
  <ItemGroup>
    <SqlCmdVariable Include="EnvironmentName">
      <DefaultValue>testing</DefaultValue>
      <Value>$(SqlCmdVar__1)</Value>
    </SqlCmdVariable>
  </ItemGroup>
</Project>

Prvek DefaultValue je nepovinný. Pokud je zadaná výchozí hodnota, použije se pouze pro načtení do dialogového okna publikování v grafických nástrojích pro projekty SQL. Výchozí hodnota není zkompilována do .dacpac souboru a nasazení z příkazového řádku bez hodnot specifikovaných pomocí profilu publikování nebo možnosti /v pro zadání hodnot způsobí, že proměnné SQLCMD budou mít prázdné hodnoty.

Použití proměnných SQLCMD v objektech SQL

Proměnné SQLCMD lze použít v objektech a skriptech SQL zabalením názvu proměnné do $(variableName) syntaxe. Například následující skript SQL používá proměnnou $(EnvironmentName) k řízení chování skriptu:

IF '$(EnvironmentName)' = 'testing'
BEGIN
    -- do something
END

Použití proměnných SQLCMD v akcích publikování

Proměnné SQLCMD je možné nastavit v době nasazení pomocí /v možnosti v nástroji příkazového řádku SqlPackage . Například následující příkaz nastaví proměnnou EnvironmentName na production:

sqlpackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production

Přidání a použití proměnných SQLCMD

Chcete-li přidat proměnnou SQLCMD do projektu SQL v sadě Visual Studio, klikněte pravým tlačítkem myši na projekt v Průzkumníku řešení a vyberte Vlastnosti. Na kartě Proměnné SQLCMD okna vlastností zadejte název proměnné a volitelně výchozí hodnotu.

Jakmile je proměnná definovaná, můžete ji použít ve skriptech SQL tak, že název proměnné zabalíte do $(variableName) syntaxe.

Při publikování projektu ze sady Visual Studio se proměnné SQLCMD nastaví v dialogovém okně publikování. Pomocí tlačítka Načíst hodnoty načtěte výchozí hodnoty z projektu SQL do dialogového okna.

Chcete-li přidat proměnnou SQLCMD do projektu SQL v sadě Visual Studio, klikněte pravým tlačítkem myši na projekt v Průzkumníku řešení a vyberte Vlastnosti. V části Proměnné SQLCMD okna vlastností zadejte název proměnné a volitelně výchozí hodnotu.

Jakmile je proměnná definovaná, můžete ji použít ve skriptech SQL tak, že název proměnné zabalíte do $(variableName) syntaxe.

Při publikování projektu ze sady Visual Studio se proměnné SQLCMD nastaví v dialogovém okně publikování. Pomocí tlačítka Načíst hodnoty načtěte výchozí hodnoty z projektu SQL do dialogového okna.

Chcete-li přidat proměnnou SQLCMD do projektu SQL v rozšíření SQL Database Projects, klikněte pravým tlačítkem myši na uzel Proměnné SQLCMD v zobrazení Databázových projektů a vyberte Přidat proměnnou SQLCMD. Zadejte název proměnné a volitelně výchozí hodnotu.

Jakmile je proměnná definovaná, můžete ji použít ve skriptech SQL tak, že název proměnné zabalíte do $(variableName) syntaxe.

Když projekt publikujete z rozšíření Projekty databáze SQL, hodnoty proměnných SQLCMD se automaticky načtou z výchozích hodnot. Po zobrazení výzvy k úpravě hodnot během procesu publikování můžete zadat alternativní hodnoty.

Pokud chcete do projektu SQL přidat proměnnou SQLCMD, přidejte položku <ItemGroup> do souboru .sqlproj s položkou <SqlCmdVariable> pro každou proměnnou. Položka <SqlCmdVariable> obsahuje název proměnné, výchozí hodnotu a hodnotu, kterou je možné nastavit v době nasazení.

<ItemGroup>
    <SqlCmdVariable Include="EnvironmentName">
        <DefaultValue>testing</DefaultValue>
        <Value>$(SqlCmdVar__1)</Value>
    </SqlCmdVariable>
</ItemGroup>

Jakmile je proměnná definovaná, můžete ji použít ve skriptech SQL tak, že název proměnné zabalíte do $(variableName) syntaxe.

Při nasazení projektu z příkazového řádku je možné nastavit proměnné SQLCMD pomocí /v možnosti v nástroji příkazového řádku SqlPackage .

Například:

SqlPackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production