Aracılığıyla paylaş


SQLCMD değişkenlerine genel bakış

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

SQLCMD değişkenleri, SQL nesnelerinde ve betiklerinde dinamik olarak değiştirilebilir belirteçler oluşturmak için SQL projelerinde kullanılır. Bu değişkenlerin değerleri dağıtım zamanında ayarlanır ve bir SQL projesindeki değerleri dinamik olarak ayarlamak için kullanılabilir. SQLCMD değişkenleri için değerler yayımlama eyleminde veya bir yayımlama profili aracılığıyla ayarlanabilir.

Dağıtıma kadar Ayarlanmayan SQLCMD değişkeni EnvironmentName'in ekran görüntüsü.

SQL proje dosyası örneği ve söz dizimi

SQLCMD değişkenleri dosyada .sqlproj bir <ItemGroup> öğenin altında tanımlanır. Bu örnekte, değişkeni EnvironmentName varsayılan değeriyle testingtanımlanır:

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

DefaultValue öğesi isteğe bağlıdır. Varsayılan bir değer sağlandığında, yalnızca SQL projeleri için grafik araçların yayımlama iletişim kutusuna yüklemek için kullanılır. Varsayılan değer .dacpac dosyasına derlenmediğinden ve yayımlama profili tarafından belirtilen değerler veya /v seçeneği kullanılmadığından komut satırı dağıtımı SQLCMD değişkenleri için boş değerlere yol açar.

SQL nesnelerinde SQLCMD değişkenlerini kullanma

SQLCMD değişkenleri, değişken adını $(variableName) söz dizimi içinde kullanarak SQL nesnelerinde ve betiklerinde kullanılabilir. Örneğin, aşağıdaki SQL betiği, betik davranışını denetlemek için değişkenini $(EnvironmentName) kullanır:

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

Yayımlama eylemlerinde SQLCMD değişkenlerini kullanma

SQLPACKage komut satırı aracındaki /v seçenek kullanılarak SQLCMD değişkenleri dağıtım zamanında ayarlanabilir. Örneğin, aşağıdaki komut değişkenini EnvironmentName olarak productionayarlar:

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

SQLCMD değişkenleri ekleme ve kullanma

Visual Studio'daki bir SQL projesine SQLCMD değişkeni eklemek için Çözüm Gezgini'nde projeye sağ tıklayın ve Özellikler'i seçin. Özellikler penceresinin SQLCMD Değişkenleri sekmesinde değişken adını ve isteğe bağlı olarak varsayılan değeri belirtin.

Değişken tanımlandıktan sonra, değişken adını $(variableName) söz diziminde sararak SQL betiklerinde kullanılabilir.

Projeyi Visual Studio'dan yayımladığınızda, YAYıMLA iletişim kutusunda SQLCMD değişkenleri ayarlanır. SQL projesindeki varsayılan değerleri iletişim kutusuna yüklemek için Değerleri Yükle düğmesini kullanın.

Visual Studio'daki bir SQL projesine SQLCMD değişkeni eklemek için Çözüm Gezgini'nde projeye sağ tıklayın ve Özellikler'i seçin. Özellikler penceresinin SQLCMD Değişkenleri bölümünde değişken adını ve isteğe bağlı olarak varsayılan değeri belirtin.

Değişken tanımlandıktan sonra, değişken adını $(variableName) söz diziminde sararak SQL betiklerinde kullanılabilir.

Projeyi Visual Studio'dan yayımladığınızda, YAYıMLA iletişim kutusunda SQLCMD değişkenleri ayarlanır. SQL projesindeki varsayılan değerleri iletişim kutusuna yüklemek için Değerleri Yükle düğmesini kullanın.

SQL Veritabanı Projeleri uzantısında bir SQL projesine SQLCMD değişkeni eklemek için, Veritabanı Projeleri görünümünde projenin altındaki SQLCMD Değişkenleri düğümüne sağ tıklayın ve SQLCMD Değişkeni Ekle'yi seçin. Değişken adını ve isteğe bağlı olarak varsayılan değeri belirtin.

Değişken tanımlandıktan sonra, değişken adını $(variableName) söz diziminde sararak SQL betiklerinde kullanılabilir.

Projeyi SQL Veritabanı Projeleri uzantısından yayımladığınızda, SQLCMD değişkenleri değerleri varsayılan değerlerden otomatik olarak yüklenir. Yayımlama işlemi sırasında değerleri değiştirmeniz istendiğinde alternatif değerler sağlayabilirsiniz.

SQL projesine bir SQLCMD değişkeni eklemek için, her değişken için bir <ItemGroup> öğesi ile birlikte .sqlproj öğesini <SqlCmdVariable> dosyasına ekleyin. Öğe <SqlCmdVariable> değişken adını, varsayılan değeri ve dağıtım zamanında ayarlanabilen bir değeri içerir.

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

Değişken tanımlandıktan sonra, değişken adını $(variableName) söz diziminde sararak SQL betiklerinde kullanılabilir.

Projeyi komut satırından dağıttığınızda /v komut satırı aracındaki seçenek kullanılarak SQLCMD değişkenleri ayarlanabilir.

Örneğin:

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