Bagikan melalui


Gambaran umum variabel SQLCMD

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceDatabase SQL di Microsoft Fabric

Variabel SQLCMD digunakan dalam proyek SQL untuk membuat token yang dapat diganti secara dinamis dalam objek dan skrip SQL. Nilai variabel ini diatur pada waktu penyebaran dan dapat digunakan untuk mengatur nilai secara dinamis dalam proyek SQL. Nilai untuk variabel SQLCMD dapat diatur dalam tindakan terbitkan atau melalui profil penerbitan.

Cuplikan layar variabel SQLCMD EnvironmentName tidak diatur hingga penyebaran.

Sampel dan sintaks file proyek SQL

Variabel SQLCMD ditentukan dalam file .sqlproj di dalam <ItemGroup> item. Dalam contoh ini, variabel EnvironmentName didefinisikan dengan nilai default :testing

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

Elemen DefaultValue adalah opsional. Saat nilai default disediakan, nilai tersebut hanya digunakan untuk memuat dalam dialog penerbitan alat grafis untuk proyek SQL. Nilai default tidak dikompilasi ke dalam file .dacpac, dan penyebaran baris perintah tanpa nilai yang ditentukan oleh profil penerbitan atau opsi /v untuk menentukan nilai menghasilkan nilai kosong untuk variabel SQLCMD.

Menggunakan variabel SQLCMD dalam objek SQL

Variabel SQLCMD dapat digunakan dalam objek dan skrip SQL dengan membungkus nama variabel dalam $(variableName) sintaks. Misalnya, skrip SQL berikut menggunakan $(EnvironmentName) variabel untuk mengontrol perilaku skrip:

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

Menggunakan variabel SQLCMD dalam tindakan penerbitan

Variabel SQLCMD dapat diatur pada waktu penyebaran menggunakan /v opsi di alat baris perintah SqlPackage . Misalnya, perintah berikut mengatur variabel ke EnvironmentNameproduction:

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

Menambahkan dan menggunakan variabel SQLCMD

Untuk menambahkan variabel SQLCMD ke proyek SQL di Visual Studio, klik kanan proyek di Penjelajah Solusi dan pilih Properti. Di tab Variabel SQLCMD dari jendela properti, tentukan nama variabel dan secara opsional nilai default.

Setelah variabel ditentukan, variabel dapat digunakan dalam skrip SQL dengan membungkus nama variabel dalam $(variableName) sintaksis.

Saat Anda menerbitkan proyek dari Visual Studio, variabel SQLCMD diatur dalam dialog terbitkan. Gunakan tombol Muat Nilai untuk memuat nilai default dari proyek SQL ke dalam dialog.

Untuk menambahkan variabel SQLCMD ke proyek SQL di Visual Studio, klik kanan proyek di Penjelajah Solusi dan pilih Properti. Di bagian Variabel SQLCMD dari jendela properti, tentukan nama variabel dan secara opsional nilai default.

Setelah variabel ditentukan, variabel dapat digunakan dalam skrip SQL dengan membungkus nama variabel dalam $(variableName) sintaksis.

Saat Anda menerbitkan proyek dari Visual Studio, variabel SQLCMD diatur dalam dialog terbitkan. Gunakan tombol Muat Nilai untuk memuat nilai default dari proyek SQL ke dalam dialog.

Untuk menambahkan variabel SQLCMD ke proyek SQL di ekstensi Proyek SQL Database, klik kanan simpul Variabel SQLCMD di bawah proyek dalam tampilan Proyek Database dan pilih Tambahkan Variabel SQLCMD. Tentukan nama variabel dan secara opsional nilai default.

Setelah variabel ditentukan, variabel dapat digunakan dalam skrip SQL dengan membungkus nama variabel dalam $(variableName) sintaksis.

Saat Anda menerbitkan proyek dari ekstensi Proyek SQL Database, nilai variabel SQLCMD secara otomatis dimuat dari nilai default. Anda dapat memberikan nilai alternatif saat diminta untuk mengubah nilai selama proses penerbitan.

Untuk menambahkan variabel SQLCMD ke proyek SQL, tambahkan <ItemGroup> item ke .sqlproj file dengan <SqlCmdVariable> item untuk setiap variabel. Item <SqlCmdVariable> menyertakan nama variabel, nilai default, dan nilai yang dapat diatur pada waktu penyebaran.

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

Setelah variabel ditentukan, variabel dapat digunakan dalam skrip SQL dengan membungkus nama variabel dalam $(variableName) sintaksis.

Saat Anda menyebarkan proyek dari baris perintah, variabel SQLCMD dapat diatur menggunakan /v opsi di alat baris perintah SqlPackage .

Contohnya:

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