Panoramica delle variabili SQLCMD
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL in Microsoft Fabric
Le variabili SQLCMD vengono usate nei progetti SQL per creare token sostituibili in modo dinamico in oggetti e script SQL. I valori di queste variabili vengono impostati in fase di distribuzione e possono essere usati per impostare in modo dinamico i valori in un progetto SQL. I valori per le variabili SQLCMD possono essere impostati nell'azione di pubblicazione o tramite un profilo di pubblicazione.
Esempio e sintassi del file di progetto SQL
Le variabili SQLCMD vengono definite nel file .sqlproj
in un elemento <ItemGroup>
. In questo esempio la variabile EnvironmentName
viene definita con un valore predefinito di testing
:
...
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
</Project>
L'elemento DefaultValue
è facoltativo. Quando viene specificato un valore predefinito, viene usato solo per il caricamento nella finestra di dialogo di pubblicazione degli strumenti grafici per i progetti SQL. Il valore predefinito non viene compilato nel file .dacpac
e una distribuzione della riga di comando senza i valori specificati da un profilo di pubblicazione o l'opzione /v
per specificare i valori si ottengono valori vuoti per le variabili SQLCMD.
Usare le variabili SQLCMD negli oggetti SQL
Le variabili SQLCMD possono essere usate negli oggetti e negli script SQL eseguendo il wrapping del nome della variabile nella sintassi $(variableName)
. Ad esempio, lo script SQL seguente usa la variabile $(EnvironmentName)
per controllare il comportamento dello script:
IF '$(EnvironmentName)' = 'testing'
BEGIN
-- do something
END
Usare le variabili SQLCMD nelle azioni di pubblicazione
Le variabili SQLCMD possono essere impostate in fase di distribuzione usando l'opzione /v
nello strumento riga di comando SqlPackage. Ad esempio, il comando seguente imposta la variabile EnvironmentName
su production
:
sqlpackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production
Aggiungere e usare variabili SQLCMD
Per aggiungere una variabile SQLCMD a un progetto SQL in Visual Studio, fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliere Proprietà. Nella scheda Variabili SQLCMD della finestra delle proprietà specificare il nome della variabile e facoltativamente un valore predefinito.
Dopo aver definito la variabile, può essere usata negli script SQL eseguendo il wrapping del nome della variabile nella sintassi $(variableName)
.
Quando si pubblica il progetto da Visual Studio, le variabili SQLCMD vengono impostate nella finestra di dialogo di pubblicazione. Usare il pulsante Carica valori per caricare i valori predefiniti dal progetto SQL nella finestra di dialogo.
Per aggiungere una variabile SQLCMD a un progetto SQL in Visual Studio, fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliere Proprietà. Nella sezione Variabili SQLCMD della finestra delle proprietà specificare il nome della variabile e facoltativamente un valore predefinito.
Dopo aver definito la variabile, può essere usata negli script SQL eseguendo il wrapping del nome della variabile nella sintassi $(variableName)
.
Quando si pubblica il progetto da Visual Studio, le variabili SQLCMD vengono impostate nella finestra di dialogo di pubblicazione. Usare il pulsante Carica valori per caricare i valori predefiniti dal progetto SQL nella finestra di dialogo.
Per aggiungere una variabile SQLCMD a un progetto SQL nell'estensione progetti database SQL, fare clic con il pulsante destro del mouse sul nodo Variabili SQLCMD nel progetto nella vista Progetti di database e selezionare Aggiungi variabile SQLCMD. Specificare il nome della variabile e facoltativamente un valore predefinito.
Dopo aver definito la variabile, può essere usata negli script SQL eseguendo il wrapping del nome della variabile nella sintassi $(variableName)
.
Quando si pubblica il progetto dall'estensione database SQL Projects, i valori delle variabili SQLCMD vengono caricati automaticamente dai valori predefiniti. È possibile fornire valori alternativi quando viene richiesto di modificare i valori durante il processo di pubblicazione.
Per aggiungere una variabile SQLCMD a un progetto SQL, aggiungere un elemento <ItemGroup>
al file .sqlproj
con un elemento <SqlCmdVariable>
per ogni variabile. L'elemento <SqlCmdVariable>
include il nome della variabile, un valore predefinito e un valore che può essere impostato in fase di distribuzione.
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
Dopo aver definito la variabile, può essere usata negli script SQL eseguendo il wrapping del nome della variabile nella sintassi $(variableName)
.
Quando si distribuisce il progetto dalla riga di comando, le variabili SQLCMD possono essere impostate usando l'opzione /v
nello strumento da riga di comando SqlPackage.
Ad esempio:
SqlPackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production