Partilhar via


Visão geral das variáveis SQLCMD

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azurebanco de dados SQL no Microsoft Fabric

As variáveis SQLCMD são usadas em projetos SQL para criar tokens dinamicamente substituíveis em objetos e scripts SQL. Os valores dessas variáveis são definidos no momento da implantação e podem ser usados para definir dinamicamente valores em um projeto SQL. Os valores para variáveis SQLCMD podem ser definidos na ação de publicação ou por meio de um perfil de publicação.

Captura de tela da variável SQLCMD EnvironmentName não definida até a implantação.

Exemplo de arquivo de projeto SQL e sintaxe

As variáveis SQLCMD são definidas no .sqlproj ficheiro num <ItemGroup> item. Neste exemplo, a variável EnvironmentName é definida com um valor padrão de testing:

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

O DefaultValue elemento é opcional. Quando um valor padrão é fornecido, ele só é usado para aparecer na caixa de diálogo de publicação de ferramentas gráficas para projetos SQL. O valor padrão não é compilado no .dacpac arquivo e uma implantação de linha de comando sem os valores especificados por um perfil de publicação ou a /v opção para especificar valores resulta em valores vazios para as variáveis SQLCMD.

Usar variáveis SQLCMD em objetos SQL

As variáveis SQLCMD podem ser usadas em objetos e scripts SQL ao encapsular o nome da variável na sintaxe $(variableName). Por exemplo, o seguinte script SQL usa a variável para controlar o comportamento do $(EnvironmentName) script:

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

Usar variáveis SQLCMD em ações de publicação

As variáveis SQLCMD podem ser definidas no momento da implantação usando a /v opção na ferramenta de linha de comando SqlPackage . Por exemplo, o comando a seguir define a EnvironmentName variável como production:

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

Adicionar e usar variáveis SQLCMD

Para adicionar uma variável SQLCMD a um projeto SQL no Visual Studio, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Propriedades. Na guia Variáveis SQLCMD da janela de propriedades, especifique o nome da variável e, opcionalmente, um valor padrão.

Uma vez que a variável é definida, ela pode ser usada em scripts SQL encapsulando o nome da variável na $(variableName) sintaxe.

Quando você publica o projeto do Visual Studio, as variáveis SQLCMD são definidas na caixa de diálogo de publicação. Use o botão Carregar Valores para carregar os valores padrão do projeto SQL na caixa de diálogo.

Para adicionar uma variável SQLCMD a um projeto SQL no Visual Studio, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Propriedades. Na seção Variáveis SQLCMD da janela de propriedades, especifique o nome da variável e, opcionalmente, um valor padrão.

Uma vez que a variável é definida, ela pode ser usada em scripts SQL encapsulando o nome da variável na $(variableName) sintaxe.

Quando você publica o projeto do Visual Studio, as variáveis SQLCMD são definidas na caixa de diálogo de publicação. Use o botão Carregar Valores para carregar os valores padrão do projeto SQL na caixa de diálogo.

Para adicionar uma variável SQLCMD a um projeto SQL na extensão Projetos do Banco de Dados SQL, clique com o botão direito do mouse no nó Variáveis SQLCMD sob o projeto na visualização Projetos de Banco de Dados e selecione Adicionar Variável SQLCMD. Especifique o nome da variável e, opcionalmente, um valor padrão.

Uma vez que a variável é definida, ela pode ser usada em scripts SQL encapsulando o nome da variável na $(variableName) sintaxe.

Quando você publica o projeto a partir da extensão Projetos do Banco de Dados SQL, os valores das variáveis SQLCMD são carregados automaticamente a partir dos valores padrão. Você pode fornecer valores alternativos quando solicitado a modificar os valores durante o processo de publicação.

Para adicionar uma variável SQLCMD a um projeto SQL, adicione um <ItemGroup> item ao .sqlproj arquivo com um <SqlCmdVariable> item para cada variável. O <SqlCmdVariable> item inclui o nome da variável, um valor padrão e um valor que pode ser definido no momento da implantação.

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

Uma vez que a variável é definida, ela pode ser usada em scripts SQL encapsulando o nome da variável na $(variableName) sintaxe.

Quando você implanta o projeto a partir da linha de comando, as variáveis SQLCMD podem ser definidas usando a /v opção na ferramenta de linha de comando SqlPackage .

Por exemplo:

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