Usando o utilitário sqlcmd (SQL Server Express)

É possível gerenciar seus bancos de dados do Microsoft SQL Server 2008 Express (SQL Server Express) usando o utilitário sqlcmd no prompt de comando. Para acessar o utilitário sqlcmd, clique em Iniciar, em Executar e digite sqlcmd.exe.

Sintaxe SQLCMD

Os argumentos a seguir estão disponíveis quando você executar o utilitário sqlcmd. Para obter informações sobre argumentos específicos, consulte Utilitário sqlcmd e Tutorial: Utilitário sqlcmd nos Manuais Online SQL Server.

Sqlcmd
  [-U login id] [-P password] [-S server] [-H hostname] 
  [-E trusted connection] [-d use database name] [-l login timeout]
  [-N encrypt connection] [-C trust the server certificate]
  [-t query timeout] [-h headers] [-s colseparator] [-w screen width]
  [-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
  [-c cmdend] [-L[c] list servers[clean output]] [-q "cmdline query"]
  [-Q "cmdline query" and exit] [-m errorlevel] [-V severitylevel]
  [-W remove trailing spaces] [-u unicode output]
  [-r[0|1] msgs to stderr] [-i inputfile] [-o outputfile]
  [-f <codepage> | i:<codepage>[,o:<codepage>]]
  [-k[1|2] remove[replace] control characters]
  [-y variable length type display width]
  [-Y fixed length type display width]
  [-p[1] print statistics[colon format]]
  [-R use client regional setting] [-b On error batch abort]
  [-v var = "value"...]
  [-X[1] disable commands[and exit with warning]]
  [-? show syntax summary]

Comandos sqlcmd

A tabela a seguir fornece uma visão geral dos comandos que você pode usar de dentro do utilitário sqlcmd. Para obter mais informações sobre esses comandos, consulte Utilitário sqlcmd nos Manuais Online do SQL Server 2008.

Comando

Descrição

ir [conta]

Executa qualquer instrução Transact-SQL em cache. Ao especificar um valor para count, serão executadas as instruções em cache count vezes como um único lote. Por exemplo, o exemplo a seguir executará as duas instruções, duas vezes:

1> Use MyDatabase
2> SELECT FirstName, LastName FROM Employee WHERE EmployeeID < 10
3> GO 2

-Nencrypt connection

Essa opção é usada pelo cliente para solicitar uma conexão criptografada. Essa opção é equivalente à opção ENCRYPT = true do ADO.net.

-Ctrust the server certificate

Essa opção é usada pelo cliente para configurá-lo para confiar implicitamente no certificado do servidor sem validação. Essa opção é equivalente à opção TRUSTSERVERCERTIFICATE = true do ADO.net.

reinicialização

Desmarca o cache de instruções.

ed

Permite editar o lote de instrução atual ou o último lote de instrução executado. Para editar o último lote executado, este comando deve ser digitado imediatamente depois que o último lote tiver sido executado.

!! <command>

Executa comandos de sistema operacional. Para executar um comando de sistema operacional, inicie uma linha com dois pontos de exclamação (!!) seguidos pelo comando de sistema operacional. Por exemplo, o seguinte executa uma lista de diretório da unidade atual:

1> !! dir

quit

- ou -

exit

Fecha o sqlcmd imediatamente.

exit [(statement)]

Permite que você use o resultado de uma instrução SELECT como o valor de retorno de sqlcmd.

A instrução exit() com nada entre os parênteses executa tudo que a antecede no lote e é encerrada sem um valor de retorno.

É possível incluir também o parâmetro exit como parte de um arquivo em lote. Por exemplo:

sqlcmd /Q "exit(SELECT COUNT(*) FROM '%1')"

:r <nomedoarquivo>

Analisa instruções do Transact-SQL e comandos sqlcmd do arquivo especificado por nome_do_arquivo no cache de instrução. O arquivo será lido e executado depois que um terminador de lote (go) for emitido.

:serverlist

Lista os servidores configurados localmente e os nomes dos servidores que estão transmitindo na rede.

:list

Imprime o conteúdo do cache de instrução.

:listvar

Exibe uma lista das variáveis de script definidas atualmente.

:error <destination>[ filename | STDERR | STDOUT]

Redireciona toda a saída de erro ao arquivo especificado por filename para o fluxo STDERR ou para o fluxo STDOUT. Por padrão, a saída de erro é enviada para STDERR.

:out <destination>[ filename | STDERR | STDOUT ]

Redireciona todos os resultados de consulta ao arquivo especificado por filename para o fluxo de STDERR ou para o fluxo STDOUT. Por padrão, a saída é enviada para STDOUT.

:perftrace <destination>[ filename | STDERR | STDOUT ]

Redireciona todas as informações de desempenho de rastreamento ao arquivo especificado por filename para o fluxo STDERR ou para o fluxo STDOUT. Por padrão, a saída de rastreamento de desempenho é enviada para STDOUT.

:connect server_name[\instance_name] [-t timeout] [-U username [-P password] ]

Conecta a uma instância do SQL Server e fecha a conexão atual.

:on error [ exit | ignore ]

Define a ação a ser executada no caso de um erro durante a execução de script ou em lote.

Quando a opção exit é usada, o sqlcmd é fechado com o valor de erro adequado.

Quando a opção ignore é usada, o sqlcmd não considera o erro e continua executando o lote ou script. Por padrão, será impressa uma mensagem de erro.

:help

Lista os comandos sqlcmd e uma descrição resumida de cada comando.

Conectando-se ao SQL Server Express

Ao conectar-se a um servidor SQL Server Express, é preciso especificar o nome do servidor e, se o SQL Server Express for instalado para uma instância nomeada, o nome da instância. Por padrão, sqlcmd usa a Autenticação do Windows. Se você estiver se conectando ao servidor SQL Server Express usando Autenticação do SQL Server, também será necessário fornecer as informações do logon para conectar-se ao servidor SQL Server Express. Por exemplo, se você estiver se conectando a uma instalação padrão do SQL Server Express em um servidor chamado servidor1, será possível usar os seguintes argumentos:

sqlcmd -S server1\SQLExpress -U SqlUserAccount -P SqlPassword
ObservaçãoObservação

Se você usar o argumento -P, sua senha aparecerá em texto sem-formatação em seu prompt de comando. Se omitir o argumento -P, será solicitado que você digite sua senha. O texto que você digitar será ocultado.

Se estiver conectado com uma conta de usuário confiada no o servidor em que o SQL Server Express está sendo executado, será possível omitir os argumentos -U e -P:

sqlcmd -S server1\SQLExpress
ObservaçãoObservação

O argumento -E especifica uma conexão confiável. Esta é a configuração padrão para sqlcmde assim o argumento -E poderá ser omitido.

Exemplo

O exemplo a seguir exibe como usar o utilitário sqlcmd para conectar-se a uma instância do SQL Server Express, nomeado SqlExpress, em um servidor nomeado SqlServer1:

Sqlcmd -S SqlServer1\SqlExpress

Depois que estiver conectado, você poderá emitir outros comandos para gerenciar a instância. Por exemplo, os comandos a seguir exibirão todos os bancos de dados instalados atualmente. Este é um modo conveniente para localizar o nome lógico de um banco de dados SQL Server Express anexado:

SELECT name from sys.databases
Go

procedimentos armazenados do sistema sp_configure

Você pode administrar e otimizar recursos SQL Server Express por opções de configuração usando o procedimento armazenado do sistema sp_configure. Para obter mais informações sobre sp_configure, consulte Definindo opções de configuração do servidor nos Manuais Online do SQL Server.

As opções de configuração a seguir fazem parte de sp_configure, mas não há suporte em SQL Server Express:

  • Agent XPs

  • Database Mail XPs

  • SQL Mail XPs

  • Procedimentos do Web Assistant