Общие сведения о переменных SQLCMD
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure базе данных SQL в Microsoft Fabric
Переменные SQLCMD используются в проектах SQL для создания динамически заменяемых маркеров в объектах и скриптах SQL. Значения этих переменных задаются во время развертывания и могут использоваться для динамического задания значений в проекте SQL. Значения переменных SQLCMD можно задать в действии публикации или с помощью профиля публикации.
Пример и синтаксис файла проекта SQL
Переменные SQLCMD определяются в .sqlproj
файле в элементе <ItemGroup>
. В этом примере переменная EnvironmentName
определяется со значением testing
по умолчанию:
...
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
</Project>
Элемент DefaultValue
необязательный. Если задано значение по умолчанию, оно используется только для загрузки в диалоговом окне публикации графических инструментов для проектов SQL. Значение по умолчанию не компилируется в .dacpac
файл и развертывание командной строки без значений, указанных профилем публикации, или /v
параметр для указания значений приводит к пустым значениям переменных SQLCMD.
Использование переменных SQLCMD в объектах SQL
Переменные SQLCMD можно использовать в объектах и скриптах SQL, упаковав имя переменной в $(variableName)
синтаксис. Например, следующий скрипт SQL использует $(EnvironmentName)
переменную для управления поведением скрипта:
IF '$(EnvironmentName)' = 'testing'
BEGIN
-- do something
END
Использование переменных SQLCMD в действиях публикации
Переменные SQLCMD можно задать во время развертывания с помощью /v
параметра в средстве командной строки SqlPackage . Например, следующая команда задает для переменной EnvironmentName
production
значение :
sqlpackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production
Добавление и использование переменных SQLCMD
Чтобы добавить переменную SQLCMD в проект SQL в Visual Studio, щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Свойства". На вкладке переменных SQLCMD в окне свойств укажите имя переменной и при необходимости значение по умолчанию.
После определения переменной его можно использовать в скриптах SQL, упаковав имя переменной в $(variableName)
синтаксис.
При публикации проекта из Visual Studio переменные SQLCMD задаются в диалоговом окне публикации. Нажмите кнопку "Загрузить значения" , чтобы загрузить значения по умолчанию из проекта SQL в диалоговое окно.
Чтобы добавить переменную SQLCMD в проект SQL в Visual Studio, щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Свойства". В разделе переменных SQLCMD в окне свойств укажите имя переменной и при необходимости значение по умолчанию.
После определения переменной его можно использовать в скриптах SQL, упаковав имя переменной в $(variableName)
синтаксис.
При публикации проекта из Visual Studio переменные SQLCMD задаются в диалоговом окне публикации. Нажмите кнопку "Загрузить значения" , чтобы загрузить значения по умолчанию из проекта SQL в диалоговое окно.
Чтобы добавить переменную SQLCMD в проект SQL в расширении База данных SQL Projects, щелкните правой кнопкой мыши узел переменных SQLCMD в представлении проектов баз данных и выберите "Добавить переменную SQLCMD". Укажите имя переменной и при необходимости значение по умолчанию.
После определения переменной его можно использовать в скриптах SQL, упаковав имя переменной в $(variableName)
синтаксис.
При публикации проекта из расширения База данных SQL Projects значения переменных SQLCMD автоматически загружаются из значений по умолчанию. Вы можете предоставить альтернативные значения при появлении запроса на изменение значений во время процесса публикации.
Чтобы добавить переменную SQLCMD в проект SQL, добавьте <ItemGroup>
элемент в .sqlproj
файл с элементом для каждой <SqlCmdVariable>
переменной. Элемент <SqlCmdVariable>
содержит имя переменной, значение по умолчанию и значение, которое можно задать во время развертывания.
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
После определения переменной его можно использовать в скриптах SQL, упаковав имя переменной в $(variableName)
синтаксис.
При развертывании проекта из командной строки переменные SQLCMD можно задать с помощью /v
параметра в средстве командной строки SqlPackage .
Например:
SqlPackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production