Megosztás a következőn keresztül:


SQLCMD-változók áttekintése

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Az SQL-projektekben SQLCMD-változók használatával dinamikusan cserélhető jogkivonatok hozhatók létre SQL-objektumokban és szkriptekben. Ezeknek a változóknak az értékei az üzembe helyezéskor vannak beállítva, és egy SQL-projekt értékeinek dinamikus beállítására használhatók. Az SQLCMD-változók értékei beállíthatók a közzétételi műveletben vagy egy közzétételi profilon keresztül.

Képernyőkép az SQLCMD EnvironmentName változóról, amely nincs beállítva az üzembe helyezésig.

SQL-projektfájl mintája és szintaxisa

Az SQLCMD-változók egy .sqlproj elem alatti <ItemGroup> fájlban vannak definiálva. Ebben a példában a változó EnvironmentName a következő alapértelmezett értékkel testingvan definiálva:

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

Az DefaultValue elem nem kötelező. Az alapértelmezett érték megadásakor csak az SQL-projektek grafikus eszközeinek közzétételi párbeszédpanelén tölthető be. Az alapértelmezett érték nem lesz lefordítva a .dacpac fájlba és a parancssori üzembe helyezésbe a közzétételi profil által megadott értékek nélkül, vagy az /v értékek megadásának lehetősége üres értékeket eredményez az SQLCMD-változók számára.

SQLCMD-változók használata SQL-objektumokban

Az SQLCMD-változók SQL-objektumokban és szkriptekben használhatók a változónevet a $(variableName) szintaxisba foglalva. A következő SQL-szkript például a változót használja a $(EnvironmentName) szkript viselkedésének szabályozásához:

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

SQLCMD-változók használata közzétételi műveletekben

Az SQLCMD-változók üzembe helyezéskor állíthatók be az /vSqlPackage parancssori eszközének beállításával. A következő parancs például a következőre állítja a változót EnvironmentNameproduction:

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

SQLCMD-változók hozzáadása és használata

Ha SQLCMD-változót szeretne hozzáadni egy SQL-projekthez a Visual Studióban, kattintson a jobb gombbal a projektre a Megoldáskezelőben , és válassza a Tulajdonságok lehetőséget. A tulajdonságok ablakÁNAK SQLCMD Változók lapján adja meg a változó nevét és opcionálisan az alapértelmezett értéket.

Miután a változó definiálva van, SQL-szkriptekben használható a változó nevét $(variableName) szintaxisba foglalva.

Amikor közzéteszi a projektet a Visual Studióban, az SQLCMD-változók a közzétételi párbeszédpanelen lesznek beállítva. Az Értékek betöltése gombbal betölti az SQL-projekt alapértelmezett értékeit a párbeszédpanelre.

Ha SQLCMD-változót szeretne hozzáadni egy SQL-projekthez a Visual Studióban, kattintson a jobb gombbal a projektre a Megoldáskezelőben , és válassza a Tulajdonságok lehetőséget. A tulajdonságok ablakÁNAK SQLCMD-változók szakaszában adja meg a változó nevét és opcionálisan az alapértelmezett értéket.

Miután a változó definiálva van, SQL-szkriptekben használható a változó nevét $(variableName) szintaxisba foglalva.

Amikor közzéteszi a projektet a Visual Studióban, az SQLCMD-változók a közzétételi párbeszédpanelen lesznek beállítva. Az Értékek betöltése gombbal betölti az SQL-projekt alapértelmezett értékeit a párbeszédpanelre.

Ha SQLCMD-változót szeretne hozzáadni egy SQL-projekthez az SQL Database Projects bővítményben, kattintson a jobb gombbal az SQLCMD Változók csomópontra a projekt alatt az Adatbázisprojektek nézetben, és válassza az SQLCMD-változó hozzáadása lehetőséget. Adja meg a változó nevét és opcionálisan az alapértelmezett értéket.

Miután a változó definiálva van, SQL-szkriptekben használható a változó nevét $(variableName) szintaxisba foglalva.

Amikor közzéteszi a projektet az SQL Database Projects bővítményből, a rendszer automatikusan betölti az SQLCMD-változók értékeit az alapértelmezett értékekből. Alternatív értékeket is megadhat, ha a közzétételi folyamat során az értékek módosítására kérik.

Ha SQLCMD-változót szeretne hozzáadni egy SQL-projekthez, adjon hozzá egy <ItemGroup> elemet a .sqlproj fájlhoz <SqlCmdVariable> minden változóhoz. Az <SqlCmdVariable> elem tartalmazza a változó nevét, az alapértelmezett értéket és az üzembe helyezéskor beállítható értéket.

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

Miután a változó definiálva van, SQL-szkriptekben használható a változó nevét $(variableName) szintaxisba foglalva.

Amikor a projektet a parancssorból telepíti, az SQLCMD-változók az /v parancssori eszközben található beállítással állíthatók be.

Például:

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