Utilitário sqlps

O utilitário sqlps inicia uma sessão do PowerShell com os cmdlets e o provedor do SQL Server PowerShell carregados e registrados. Você pode inserir comandos ou scripts do PowerShell que usam os componentes do SQL Server PowerShell para trabalhar com instâncias do SQL Server e seus objetos.

Sintaxe

sqlps 
[ [ [ -NoLogo ][ -NoExit ][ -NoProfile ]
      [ -OutPutFormat { Text | XML } ] [ -InPutFormat { Text | XML } ]
  ]
    [ -Command { -
               | script_block [ -args argument_array ]
               | string [ command_parameters ]
                 }
  ]
]
[ -? | -Help ]

Argumentos

  • -NoLogo
    Especifica que o sqlps oculte a faixa de direitos autorais quando for iniciado.

  • -NoExit
    Especifica que o sqlps continue em execução após a conclusão dos comandos de inicialização.

  • -NoProfile
    Especifica que o sqlps não carregue um perfil de usuário. Os perfis de usuário registram alias, funções e variáveis usados com freqüência para uso em sessões do PowerShell.

  • -OutPutFormat { Text | XML }
    Especifica que a saída sqlps seja formatada como cadeias de caracteres de texto (Text) ou em um formato CLIXML serializado (XML).

  • -InPutFormat { Text | XML }
    Especifica que a entrada para o sqlps seja formatada como cadeias de caracteres de texto (Text) ou em um formato CLIXML serializado (XML).

  • -Command
    Especifica o comando para que o sqlps seja executado. O utilitário sqlps executa o comando e fecha em seguida, a menos que -NoExit também seja especificado. Não especifique outras opções depois de -Command, pois elas serão lidas como parâmetros de comando.

  • -
    -Command- especifica que sqlps leia a entrada a partir da entrada padrão.

  • script_block [ -argsargument_array ]
    Especifica que um bloco de comandos do PowerShell seja executado, o bloco deve estar entre chaves: {}. Script_block pode ser especificado apenas quando sqlps for chamado do PowerShell ou do sqlps. O argument_array é uma matriz de variáveis do PowerShell que contêm os argumentos para os comandos do PowerShell em script_block.

  • string [ command_parameters ]
    Especifica que uma cadeia de caracteres contendo os comandos do PowerShell seja executada. Use o formato "&{command}". As aspas indicam uma cadeia de caracteres e o operador de ativação (&) faz com que o sqlps execute o comando.

  • [ -? | -Help ]
    Mostra o resumo da sintaxe de opções do sqlps.

Comentários

O utilitário sqlps inicia o ambiente do PowerShell (PowerShell.exe) com os snap-ins do SQL Server PowerShell carregados e registrados. Os snap-ins do SQL Server PowerShell são os seguintes:

  • Microsoft.SqlServer.Management.PSProvider.dll

    Implementa o provedor do SQL Server PowerShell e os cmdlets associados, como Encode-SqlName e Decode-SqlName.

  • Microsoft.SqlServer.Management.PSSnapin.dll

    Implementa o cmdlet Invoke-Sqlcmd.

É possível usar o sqlps para fazer o seguinte:

  • Executar comandos do PowerShell de forma interativa.

  • Executar arquivos de script do PowerShell.

  • Executar cmdlets do SQL Server.

  • Usar os caminhos do provedor do SQL Server para navegar pela hierarquia de objetos do SQL Server.

Por padrão, o sqlps é executado com a diretiva de execução de scripts definida como Restricted. Isso impede a execução de quaisquer scripts do PowerShell. Você pode usar o cmdlet Set-ExecutionPolicy para habilitar a execução de scripts assinados ou de quaisquer outros scripts. Execute apenas scripts de fontes confiáveis e proteja todos os arquivos de entrada e saída usando as permissões NTFS adequadas. Para obter mais informações sobre como habilitar scripts do PowerShell, consulte Running Windows PowerShell Scripts.

Exemplos

A. Executar o sqlps no modo interativo padrão, sem a faixa de direitos autorais

sqlps -NoLogo

B. Executar um script do SQL Server PowerShell no prompt de comando

sqlps -Command "&{.\MyFolder.MyScript.ps1}"

C. Executar um script do SQL Server PowerShell a partir do prompt de comando, e manter a execução após a conclusão do script

sqlps -NoExit -Command "&{.\MyFolder.MyScript.ps1}"