Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di
AzureIstanza gestita di SQL di
AzureDatabase 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 in un elemento .sqlproj nel file <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 .dacpac file e una distribuzione della riga di comando senza i valori specificati da un profilo di pubblicazione o l'opzione /v per specificare i valori restituisce 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 $(variableName) sintassi. Ad esempio, lo script SQL seguente usa la variabile per controllare il $(EnvironmentName) 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 da riga di comando SqlPackage . Ad esempio, il comando seguente imposta la EnvironmentName variabile 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 $(variableName) sintassi.
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 $(variableName) sintassi.
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 di database SQL, fare clic con il pulsante destro del mouse sul nodo Variabili SQLCMD nel progetto nella visualizzazione Progetti di database e scegliere 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 $(variableName) sintassi.
Quando si pubblica il progetto dall'estensione Progetti di database SQL, 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 <ItemGroup> elemento al .sqlproj file con un <SqlCmdVariable> elemento 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 $(variableName) sintassi.
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 .
Per esempio:
SqlPackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production