sqlcmd Utilitysqlcmd Utility

Este tópico aplica-se a: Simdo SQL ServerSimbanco de dados do SQL AzureSimAzure SQL Data Warehouse Sim Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Para SQL Server 2014 e inferior, consulte utilitário sqlcmd.For SQL Server 2014 and lower, see sqlcmd Utility.

Para usar o sqlcmd no Linux, consulte instalar sqlcmd e bcp em Linux.For using sqlcmd on Linux, see Install sqlcmd and bcp on Linux.

O utilitário sqlcmd permite inserir instruções Transact-SQL, procedimentos do sistema e arquivos de script no prompt de comando, no Editor de Consultas no modo SQLCMD, em um arquivo de script do Windows ou em uma etapa de trabalho do sistema operacional (Cmd.exe) de um trabalho do SQL Server Agent.The sqlcmd utility lets you enter Transact-SQL statements, system procedures, and script files at the command prompt, in Query Editor in SQLCMD mode, in a Windows script file or in an operating system (Cmd.exe) job step of a SQL Server Agent job. Esse utilitário usa ODBC para executar lotes Transact-SQL.This utility uses ODBC to execute Transact-SQL batches.

Observação

As versões mais recentes do utilitário sqlcmd estão disponíveis como uma versão da Web no Centro de Download.The most recent versions of the sqlcmd utility is available as a web release from the Download Center. Você precisa de versão 13,1 ou superior para dar suporte ao sempre criptografado (-g) e autenticação do Active Directory do Azure (-G).You need version 13.1 or higher to support Always Encrypted (-g) and Azure Active Directory authentication (-G). (Você poderá ter várias versões do sqlcmd.exe instaladas no computador.(You may have several versions of sqlcmd.exe installed on your computer. Verifique se você está usando a versão correta.Be sure you are using the correct version. Para determinar a versão, execute sqlcmd -?.)To determine the version, execute sqlcmd -?.)

Você pode tentar o utilitário sqlcmd do Shell de nuvem do Azure, pois ele já está instalado por padrão: inicie o Shell de nuvemYou can try the sqlcmd utility from Azure Cloud Shell as it is pre-installed by default: Launch Cloud Shell

Para executar instruções sqlcmd no SSMS, selecione o Modo SQLCMD na lista suspensa Menu de Consulta do painel de navegação superior.To run sqlcmd statements in SSMS, select SQLCMD Mode from the top navigation Query Menu dropdown.

Importante

O SQL Server Management StudioSQL Server Management Studio (SSMS) usa o Microsoft .NET Framework.NET Framework SqlClient para execução nos modos regular e SQLCMD no Editor de Consultas. SQL Server Management StudioSQL Server Management Studio (SSMS) uses the Microsoft .NET Framework.NET Framework SqlClient for execution in regular and SQLCMD mode in Query Editor. Quando o sqlcmd é executado na linha de comando, o sqlcmd usa o driver ODBC.When sqlcmd is run from the command line, sqlcmd uses the ODBC driver. Devido às diferentes opções padrão que podem ser aplicadas, é possível observar um comportamento diferente ao executar a mesma consulta no SQL Server Management StudioSQL Server Management Studio no Modo SQLCMD e no utilitário sqlcmd .Because different default options may apply, you might see different behavior when you execute the same query in SQL Server Management StudioSQL Server Management Studio in SQLCMD Mode and in the sqlcmd utility.

Atualmente, o sqlcmd não requer um espaço entre a opção de linha de comando e o valor.Currently, sqlcmd does not require a space between the command line option and the value. Porém, em uma versão futura, um espaço pode ser necessário entre a opção de linha de comando e o valor.However, in a future release, a space may be required between the command line option and the value.

Outros tópicos:Other topics:

SintaxeSyntax

sqlcmd   
   -a packet_size  
   -A (dedicated administrator connection)  
   -b (terminate batch job if there is an error)  
   -c batch_terminator  
   -C (trust the server certificate)  
   -d db_name  
   -e (echo input)  
   -E (use trusted connection)  
   -f codepage | i:codepage[,o:codepage] | o:codepage[,i:codepage] 
   -g (enable column encryption) 
   -G (use Azure Active Directory for authentication)
   -h rows_per_header  
   -H workstation_name  
   -i input_file  
   -I (enable quoted identifiers)  
   -j (Print raw error messages)
   -k[1 | 2] (remove or replace control characters)  
   -K application_intent  
   -l login_timeout  
   -L[c] (list servers, optional clean output)  
   -m error_level  
   -M multisubnet_failover  
   -N (encrypt connection)  
   -o output_file  
   -p[1] (print statistics, optional colon format)  
   -P password  
   -q "cmdline query"  
   -Q "cmdline query" (and exit)  
   -r[0 | 1] (msgs to stderr)  
   -R (use client regional settings)  
   -s col_separator  
   -S [protocol:]server[instance_name][,port]  
   -t query_timeout  
   -u (unicode output file)  
   -U login_id  
   -v var = "value"  
   -V error_severity_level  
   -w column_width  
   -W (remove trailing spaces)  
   -x (disable variable substitution)  
   -X[1] (disable commands, startup script, environment variables, optional exit)  
   -y variable_length_type_display_width  
   -Y fixed_length_type_display_width  
   -z new_password   
   -Z new_password (and exit)  
   -? (usage)  

Opções de linha de comandoCommand-line Options

Opções relacionadas a logonLogin-Related Options
-A-A
Faz logon no SQL Server com uma DAC (conexão de administrador dedicada).Logs in to SQL Server with a Dedicated Administrator Connection (DAC). Esse tipo de conexão é usado para solucionar um problema no servidor.This kind of connection is used to troubleshoot a server. Isso funcionará apenas com computadores servidor que oferecem suporte para DAC.This will only work with server computers that support DAC. Se a DAC não estiver disponível, o sqlcmd vai gerar uma mensagem de erro e será encerrado.If DAC is not available, sqlcmd generates an error message and then exits. Para obter mais informações sobre a DAC, consulte Conexão de diagnóstico para administradores de banco de dados.For more information about DAC, see Diagnostic Connection for Database Administrators. Não há suporte para a opção - A com a opção -G.The -A option is not supported with the -G option. Ao se conectar ao banco de dados SQL usando - A, você deve ser um administrador do SQL server.When connecting to SQL Database using -A, you must be a SQL server administrator. A DAC não está disponível para um administrador do Active Directory do Azure.The DAC is not availble for an Azure Active Directory adminstrator.

-C-C
Essa opção é usada pelo cliente para configurá-lo para confiar implicitamente no certificado do servidor sem validação.This switch is used by the client to configure it to implicitly trust the server certificate without validation. Essa opção é equivalente à opção TRUSTSERVERCERTIFICATE = truedo ADO.NET.This option is equivalent to the ADO.NET option TRUSTSERVERCERTIFICATE = true.

-d db_name-d db_name
Emite uma instrução USE db_name ao iniciar o sqlcmd.Issues a USE db_name statement when you start sqlcmd. Essa opção define a variável de script SQLCMDDBNAME do sqlcmd .This option sets the sqlcmd scripting variable SQLCMDDBNAME. Isso especifica o banco de dados inicial.This specifies the initial database. O padrão é a propriedade do banco de dados padrão de seu logon.The default is your login's default-database property. Se o banco de dados não existir, será gerada uma mensagem de erro e o sqlcmd será encerrado.If the database does not exist, an error message is generated and sqlcmd exits.

-l login_timeout-l login_timeout
Especifica o número de segundos antes que um logon do sqlcmd no driver ODBC expire quando você tentar se conectar a um servidor.Specifies the number of seconds before a sqlcmd login to the ODBC driver times out when you try to connect to a server. Essa opção define a variável de script SQLCMDLOGINTIMEOUT do sqlcmd .This option sets the sqlcmd scripting variable SQLCMDLOGINTIMEOUT. O tempo limite padrão de logon do sqlcmd é de oito segundos.The default time-out for login to sqlcmd is eight seconds. Ao usar a opção - G para se conectar ao Banco de Dados SQL ou o SQL Data Warehouse e autenticar usando o Azure Active Directory, é recomendado estipular um valor de tempo limite de pelo menos 30 segundos.When using the -G option to connect to SQL Database or SQL Data Warehouse and authenticate using Azure Active Directory, a timeout value of at least 30 seconds is recommended. O tempo limite do logon deve ser um número entre 0 e 65534.The login time-out must be a number between 0 and 65534. Se o valor fornecido não for numérico ou se não estiver nesse intervalo, o sqlcmd vai gerar uma mensagem de erro.If the value supplied is not numeric or does not fall into that range, sqlcmd generates an error message. Um valor de 0 especifica o tempo limite como infinito.A value of 0 specifies time-out to be infinite.

-E-E
Usa uma conexão confiável em vez de um nome de usuário e uma senha para fazer logon no SQL Server.Uses a trusted connection instead of using a user name and password to log on to SQL Server . Por padrão, sem a especificação de -E , o sqlcmd usa a opção de conexão confiável.By default, without -E specified, sqlcmd uses the trusted connection option.

A opção -E ignora possíveis definições de variável de ambiente de nome de usuário e senha como SQLCMDPASSWORD.The -E option ignores possible user name and password environment variable settings such as SQLCMDPASSWORD. Se a opção -E for usada com as opções -U ou -P , uma mensagem de erro será gerada.If the -E option is used together with the -U option or the -P option, an error message is generated.

-g-g
Define a Configuração de Criptografia de Coluna como Enabled.Sets the Column Encryption Setting to Enabled. Para obter mais informações, consulte Always Encrypted.For more information, see Always Encrypted. Há suporte apenas para as chaves mestras armazenadas no Repositório de Certificados do Windows.Only master keys stored in Windows Certificate Store are supported. A opção -g exige, no mínimo, a versão 13.1 do sqlcmd.The -g switch requires at least sqlcmd version 13.1. Para determinar a versão, execute sqlcmd -?.To determine your version, execute sqlcmd -?.

-G-G
Essa opção é usada pelo cliente ao se conectar ao Banco de Dados SQL ou o SQL Data Warehouse para especificar que o usuário seja autenticado usando a autenticação do Azure Active Directory.This switch is used by the client when connecting to SQL Database or SQL Data Warehouse to specify that the user be authenticated using Azure Active Directory authentication. Essa opção define a variável de script SQLCMDUSEAAD do sqlcmd = true.This option sets the sqlcmd scripting variable SQLCMDUSEAAD = true. A opção -G exige, no mínimo, a versão 13.1 do sqlcmd.The -G switch requires at least sqlcmd version 13.1. Para determinar a versão, execute sqlcmd -?.To determine your version, execute sqlcmd -?. Para obter mais informações, consulte Conectando-se ao Banco de Dados SQL ou ao SQL Data Warehouse usando a Autenticação do Azure Active Directory.For more information, see Connecting to SQL Database or SQL Data Warehouse By Using Azure Active Directory Authentication. Não há suporte para a opção - A com a opção -G.The -A option is not supported with the -G option.

Importante

A opção - G só se aplica ao Banco de Dados SQL e ao Azure Data Warehouse.The -G option only applies to Azure SQL Database and Azure Data Warehouse.

  • Nome de usuário do Azure Active Directory e senha:Azure Active Directory Username and Password:

    Quando desejar usar um nome de usuário do Azure Active Directory e uma senha, você poderá fornecer a opção - G e também usar o nome de usuário e a senha fornecendo as opções -U e -P .When you want to use an Azure Active Directory user name and password, you can provide the -G option and also use the user name and password by providing the -U and -P options.

    Sqlcmd -S testsrv.database.windows.net -d Target_DB_or_DW -U bob@contoso.com -P MyAADPassword -G 
    

    Isso gerará a seguinte cadeia de conexão no back-end:This will generate the following connection string in the backend:

     SERVER = Target_DB_or_DW.testsrv.database.windows.net;UID= bob@contoso.com;PWD=MyAADPassword;AUTHENTICATION = ActiveDirectoryPassword 
    
  • Integração ao Azure Active DirectoryAzure Active Directory Integrated

    Para a autenticação Integrada do Azure Active Directory, forneça a opção -G sem um nome de usuário e uma senha:For Azure Active Directory Integrated authentication, provide the -G option without a user name or password:

    Sqlcmd -S Target_DB_or_DW.testsrv.database.windows.net  -G
    

    Isso gerará a seguinte cadeia de conexão no back-end:This will generate the following connection string in the backend:

    SERVER = Target_DB_or_DW.testsrv.database.windows.net Authentication = ActiveDirectoryIntegrated; Trusted_Connection=NO
    

    Observação

    A opção -E (Trusted_Connection) não pode ser usada junto com a opção -G.The -E option (Trusted_Connection) cannot be used along with the -G option).

-H workstation_name-H workstation_name
Um nome de estação de trabalho.A workstation name. Essa opção define a variável de script SQLCMDWORKSTATION do sqlcmd .This option sets the sqlcmd scripting variable SQLCMDWORKSTATION. O nome da estação de trabalho é listado na coluna hostname da exibição de catálogo sys.sysprocesses e pode ser retornado usando o procedimento armazenado sp_who.The workstation name is listed in the hostname column of the sys.sysprocesses catalog view and can be returned using the stored procedure sp_who. Se essa opção não for especificada, o padrão será o nome do computador atual.If this option is not specified, the default is the current computer name. Esse nome pode ser usado para identificar diferentes sessões do sqlcmd .This name can be used to identify different sqlcmd sessions.

-j Imprime mensagens de erro bruto na tela.-j Prints raw error messages to the screen.

-K application_intent-K application_intent
Declara o tipo de carga de trabalho de aplicativo ao conectar-se a um servidor.Declares the application workload type when connecting to a server. O único valor com suporte no momento é ReadOnly.The only currently supported value is ReadOnly. Se -K não for especificado, o utilitário sqlcmd não dará suporte à conectividade com uma réplica secundária em um grupo de disponibilidade AlwaysOn.If -K is not specified, the sqlcmd utility will not support connectivity to a secondary replica in an Always On availability group. Para obter mais informações, consulte Secundárias ativas: Réplicas secundárias legíveis (Grupos de Disponibilidade AlwaysOn)For more information, see Active Secondaries: Readable Secondary Replica (Always On Availability Groups)

-M multisubnet_failover-M multisubnet_failover
Sempre especifique -M ao conectar-se ao ouvinte de um grupo de disponibilidade do SQL Server ou a uma instância de cluster de failover do SQL Server.Always specify -M when connecting to the availability group listener of a SQL Server availability group or a SQL Server Failover Cluster Instance. -M proporciona maior rapidez na detecção do servidor (atualmente) ativo e na conexão a ele.-M provides for faster detection of and connection to the (currently) active server. Se -M não for especificado, -M estará desativado.If –M is not specified, -M is off. Para obter mais informações sobre [! INCLUIRssHADR, criação e configuração de grupos de disponibilidade (SQL Server), [Clustering de Failover e grupos de disponibilidade AlwaysOn (SQL Server)] (https://msdn.microsoft.comlibrary/ff929171.aspxe [ Secundárias ativas: réplicas secundárias legíveis (sempre em grupos de disponibilidade)] (https://msdn.microsoft.com/library/ff878253.aspx.For more information about [!INCLUDEssHADR, Creation and Configuration of Availability Groups (SQL Server), [Failover Clustering and Always On Availability Groups (SQL Server)](https://msdn.microsoft.comlibrary/ff929171.aspx, and [Active Secondaries: Readable Secondary Replicas(Always On Availability Groups)](https://msdn.microsoft.com/library/ff878253.aspx.

-N-N
Essa opção é usada pelo cliente para solicitar uma conexão criptografada.This switch is used by the client to request an encrypted connection.

-P password-P password
É uma senha especificada pelo usuário.Is a user-specified password. Senhas diferenciam maiúsculas e minúsculas.Passwords are case sensitive. Se a opção -U for usada e a opção -P não for usada, e a variável de ambiente SQLCMDPASSWORD não tiver sido definida, o sqlcmd solicitará uma senha ao usuário.If the -U option is used and the -P option is not used, and the SQLCMDPASSWORD environment variable has not been set, sqlcmd prompts the user for a password. Para especificar uma senha nula (não recomendável), use -P "".To specify a null password (not recommended) use -P "". E lembre-se sempre:And remember to always:

Use uma senha forte!!Use a strong password!!

A solicitação de senha é exibida no console, como a seguir: Password:The password prompt is displayed by printing the password prompt to the console, as follows: Password:

A entrada do usuário está oculta.User input is hidden. Isso significa que nada é exibido e o cursor fica em posição.This means that nothing is displayed and the cursor stays in position.

A variável de ambiente SQLCMDPASSWORD lhe permite definir uma senha padrão para a sessão atual.The SQLCMDPASSWORD environment variable lets you set a default password for the current session. Assim, senhas não têm de ser hard-coded em arquivos em lote.Therefore, passwords do not have to be hard-coded into batch files.

O exemplo a seguir define, em primeiro lugar, a variável SQLCMDPASSWORD no prompt de comando e acessa o utilitário sqlcmd .The following example first sets the SQLCMDPASSWORD variable at the command prompt and then accesses the sqlcmd utility. No prompt de comando, digite:At the command prompt, type:

SET SQLCMDPASSWORD= p@a$$w0rd
No prompt de comando a seguir, digite:At the following command prompt, type:

sqlcmd

Se a combinação de nome de usuário e senha estiver incorreta, uma mensagem de erro será gerada.If the user name and password combination is incorrect, an error message is generated.

OBSERVAÇÃO!NOTE! A variável de ambiente OSQLPASSWORD foi mantida para compatibilidade com versões anteriores.The OSQLPASSWORD environment variable was kept for backward compatibility. A variável de ambiente SQLCMDPASSWORD tem precedência em relação à variável de ambiente OSQLPASSWORD; isso significa que sqlcmd e osql podem ser usados próximos um do outro sem interferência e que scripts antigos continuarão funcionado.The SQLCMDPASSWORD environment variable takes precedence over the OSQLPASSWORD environment variable; this means that sqlcmd and osql can be used next to each other without interference and that old scripts will continue to work.

Será gerada uma mensagem de erro se a opção -P for usada com a opção -E .If the -P option is used with the -E option, an error message is generated.

Se a opção -P for seguida de mais de um argumento, uma mensagem de erro será gerada e o programa será fechado.If the -P option is followed by more than one argument, an error message is generated and the program exits.

-S [protocolo:]servidor[\instance_name] [, * *porta]-S** [protocol:]server[\instance_name][,port]
Especifica a instância do SQL Server à qual você deseja se conectar.Specifies the instance of SQL Server to which to connect. Define a variável de script SQLCMDSERVER do sqlcmd .It sets the sqlcmd scripting variable SQLCMDSERVER.

Especifique server_name para conectar-se à instância padrão do SQL Server nesse computador servidor.Specify server_name to connect to the default instance of SQL Server on that server computer. Especifique server_name [ \instance_name ] para conectar-se a uma instância nomeada do SQL Server nesse computador servidor.Specify server_name [ \instance_name ] to connect to a named instance of SQL Server on that server computer. Se nenhum servidor for especificado, sqlcmd se conectará à instância padrão do SQL Server no computador local.If no server computer is specified, sqlcmd connects to the default instance of SQL Server on the local computer. Essa opção é necessária quando você executa o sqlcmd em um computador remoto na rede.This option is required when you execute sqlcmd from a remote computer on the network.

Oprotocolo pode ser tcp (TCP/IP), lpc (memória compartilhada) ou np (pipes nomeados).protocol can be tcp (TCP/IP), lpc (shared memory), or np (named pipes).

Se você não especificar um server_name [ \instance_name ] ao iniciar o sqlcmd, o SQL Server verificará se há uma variável de ambiente SQLCMDSERVER e a usará.If you do not specify a server_name [ \instance_name ] when you start sqlcmd, SQL Server checks for and uses the SQLCMDSERVER environment variable.

Observação

A variável de ambiente OSQLSERVER foi mantida para compatibilidade com versões anteriores.The OSQLSERVER environment variable has been kept for backward compatibility. A variável de ambiente SQLCMDSERVER tem precedência em relação à variável de ambiente OSQLSERVER; o que significa que o sqlcmd e osql podem ser usados próximos um do outro sem interferência e que scripts antigos continuarão funcionado.The SQLCMDSERVER environment variable takes precedence over the OSQLSERVER environment variable; this means that sqlcmd and osql can be used next to each other without interference and that old scripts will continue to work.

-U login_id-U login_id
Nome de logon ou nome de usuário de banco de dados independente.Is the login name or contained database user name. Para usuários de banco de dados independente, é necessário fornecer a opção de nome de banco de dados (-d).For contained database users you must provide the database name option (-d).

Observação

A variável de ambiente OSQLUSER está disponível para compatibilidade com versões anteriores.The OSQLUSER environment variable is available for backward compatibility. A variável de ambiente SQLCMDUSER tem precedência em relação à variável de ambiente OSQLUSER.The SQLCMDUSER environment variable takes precedence over the OSQLUSER environment variable. Isso significa que o sqlcmd e osql podem ser usados próximos um do outro sem interferência.This means that sqlcmd and osql can be used next to each other without interference. Significa também que scripts osql existentes continuarão funcionando.It also means that existing osql scripts will continue to work.

Se as opções -U e -P não forem especificadas, o sqlcmd tentará se conectar usando o modo de Autenticação do Microsoft Windows.If neither the -U option nor the -P option is specified, sqlcmd tries to connect by using Microsoft Windows Authentication mode. A autenticação se baseia na conta do Windows do usuário que está executando o sqlcmd.Authentication is based on the Windows account of the user who is running sqlcmd.

Se a opção -U for usada com a opção -E (descrita adiante neste tópico), uma mensagem de erro será gerada.If the -U option is used with the -E option (described later in this topic), an error message is generated. Será gerada uma mensagem de erro e o programa será encerrado se a opção –U for seguida por mais de um argumento.If the –U option is followed by more than one argument, an error message is generated and the program exits.

-z new_password-z new_password
Alterar senha:Change password:

sqlcmd -U someuser -P s0mep@ssword -z a_new_p@a$$w0rd

-Z new_password-Z new_password
Alterar senha e sair:Change password and exit:

sqlcmd -U someuser -P s0mep@ssword -Z a_new_p@a$$w0rd

Opções de entrada/saídaInput/Output Options
-f codepage | i:codepage[,o:codepage] | o:codepage[,i:* codepage]-f* codepage | i:codepage[,o:codepage] | o:codepage[,i:* codepage*]
Especifica as páginas de código de entrada e saída.Specifies the input and output code pages. O número da página de código é um valor numérico que especifica um código de página instalada do Windows.The codepage number is a numeric value that specifies an installed Windows code page.

Regras de conversão de página de código:Code-page conversion rules:

  • Se nenhuma página de código for especificada, o sqlcmd usará a página de código atual para arquivos de entrada e de saída, a menos que o arquivo de entrada seja um arquivo Unicode, para o qual nenhuma conversão é necessária.If no code pages are specified, sqlcmd will use the current code page for both input and output files, unless the input file is a Unicode file, in which case no conversion is required.

  • Osqlcmd reconhece arquivos de entrada Unicode big endian e little endian automaticamente.sqlcmd automatically recognizes both big-endian and little-endian Unicode input files. Se a opção -u tiver sido especificada, a saída sempre será Unicode little endian.If the -u option has been specified, the output will always be little-endian Unicode.

  • Se não for especificado nenhum arquivo de saída, a página de código de saída será a página de código de console.If no output file is specified, the output code page will be the console code page. Isso habilita a saída a ser exibida corretamente no console.This enables the output to be displayed correctly on the console.

  • Assume-se que arquivos de entrada múltiplos tenham a mesma página de código.Multiple input files are assumed to be of the same code page. Arquivos de entrada Unicode e não Unicode podem ser misturados.Unicode and non-Unicode input files can be mixed.

    Digite chcp no prompt de comando para verificar a página de código de Cmd.exe.Enter chcp at the command prompt to verify the code page of Cmd.exe.

    -i input_file[, * * * input_file2*...]-i** input_file[,input_file2...]
    Identifica o arquivo que contém um lote de instruções SQL ou procedimentos armazenados.Identifies the file that contains a batch of SQL statements or stored procedures. Poderão ser especificados vários arquivos para serem lidos e processados em ordem.Multiple files may be specified that will be read and processed in order. Não use espaço entre nomes de arquivos.Do not use any spaces between file names. Osqlcmd verificará primeiramente se todos os arquivos especificados existem.sqlcmd will first check to see whether all the specified files exist. Se um ou mais arquivos não existirem, o sqlcmd será encerrado.If one or more files do not exist, sqlcmd will exit. As opções -i e Q/-q são mutuamente exclusivas.The -i and the -Q/-q options are mutually exclusive.

    Exemplos de caminho:Path examples:

-i C:\<filename>  
-i \\<Server>\<Share$>\<filename>  
-i "C:\Some Folder\<file name>"  

Os nomes de caminhos que contêm espaços deverão ficar entre aspas.File paths that contain spaces must be enclosed in quotation marks.

Esta opção pode ser usada mais de uma vez: -iinput_file -II input_file.This option may be used more than once: -iinput_file -II input_file.

-o output_file-o output_file
Identifica o arquivo que recebe a saída do sqlcmd.Identifies the file that receives output from sqlcmd.

Se -u for especificado, output_file será armazenado no formato Unicode.If -u is specified, the output_file is stored in Unicode format. Se o nome do arquivo não for válido, uma mensagem de erro será gerada e o sqlcmd será encerrado.If the file name is not valid, an error message is generated, and sqlcmd exits. Osqlcmd não permite gravação simultânea de vários processos sqlcmd no mesmo arquivo.sqlcmd does not support concurrent writing of multiple sqlcmd processes to the same file. A saída de arquivo será corrompida ou incorreta.The file output will be corrupted or incorrect. Consulte a opção -f para obter mais informações sobre formatos de arquivo.See the -f switch for more information about file formats. Caso não exista, esse arquivo será criado.This file will be created if it does not exist. Um arquivo com o mesmo nome de uma sessão sqlcmd anterior será substituído.A file of the same name from a prior sqlcmd session will be overwritten. O arquivo aqui especificado não é o arquivo stdout .The file specified here is not the stdout file. Se for especificado um arquivo stdout este arquivo não será usado.If a stdout file is specified this file will not be used.

Exemplos de caminho:Path examples:

-o C:< filename>  
-o \\<Server>\<Share$>\<filename>  
-o "C:\Some Folder\<file name>"  

Os nomes de caminhos que contêm espaços deverão ficar entre aspas.File paths that contain spaces must be enclosed in quotation marks.

-r[0 | 1]-r[0 | 1]
Redireciona a saída da mensagem de erro para a tela (stderr).Redirects the error message output to the screen (stderr). Se você não especificar um parâmetro ou se especificar 0, serão redirecionadas somente mensagens de erro com nível de severidade 11 ou acima disso.If you do not specify a parameter or if you specify 0, only error messages that have a severity level of 11 or higher are redirected. Se você especificar 1, serão redirecionadas todas as saídas de mensagens de erro inclusive PRINT.If you specify 1, all error message output including PRINT is redirected. Não tem nenhum efeito se você usar -o.Has no effect if you use -o. Por padrão, mensagens são envidadas para stdout.By default, messages are sent to stdout.

-R-R
Faz com que o sqlcmd localize colunas numéricas, de moeda, de data e de hora recuperadas do SQL Server com base na localidade do cliente.Causes sqlcmd to localize numeric, currency, date, and time columns retrieved from SQL Server based on the client’s locale. Por padrão, essas colunas são exibidas usando as configurações regionais do servidor.By default, these columns are displayed using the server’s regional settings.

-u-u
Especifica se output_file é armazenado no formato Unicode, independentemente do formato de input_file.Specifies that output_file is stored in Unicode format, regardless of the format of input_file.

Opções de execução de consultasQuery Execution Options
-e-e
Grava scripts de entrada no dispositivo de saída padrão (stdout).Writes input scripts to the standard output device (stdout).

-I-I
Define a opção de conexão SET QUOTED_IDENTIFIER como ON.Sets the SET QUOTED_IDENTIFIER connection option to ON. Por padrão, ela é definida como OFF.By default, it is set to OFF. Para obter mais informações, veja SET QUOTED_IDENTIFIER (Transact-SQL).For more information, see SET QUOTED_IDENTIFIER (Transact-SQL).

-q" cmdline query "-q" cmdline query "
Executa uma consulta quando o sqlcmd é iniciado, mas não fecha o sqlcmd após a execução da consulta.Executes a query when sqlcmd starts, but does not exit sqlcmd when the query has finished running. Podem ser executadas consultas delimitadas por vários ponto e vírgula.Multiple-semicolon-delimited queries can be executed. Use aspas na consulta, conforme o exemplo a seguir.Use quotation marks around the query, as shown in the following example.

No prompt de comando, digite:At the command prompt, type:

sqlcmd -d AdventureWorks2012 -q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"

sqlcmd -d AdventureWorks2012 -q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"

Importante

Não use o terminador GO na consulta.Do not use the GO terminator in the query.

Se -b for especificado junto com esta opção, sqlcmd será fechado com um erro.If -b is specified together with this option, sqlcmd exits on error. -b é descrito posteriormente neste tópico.-b is described later in this topic.

-Q" cmdline query "-Q" cmdline query "
Executa uma consulta quando o sqlcmd é iniciado e fecha o sqlcmdimediatamente.Executes a query when sqlcmd starts and then immediately exits sqlcmd. Podem ser executadas consultas delimitadas por vários ponto e vírgula.Multiple-semicolon-delimited queries can be executed.

Use aspas na consulta, conforme o exemplo a seguir.Use quotation marks around the query, as shown in the following example.

No prompt de comando, digite:At the command prompt, type:

sqlcmd -d AdventureWorks2012 -Q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"

sqlcmd -d AdventureWorks2012 -Q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"

Importante

Não use o terminador GO na consulta.Do not use the GO terminator in the query.

Se -b for especificado junto com esta opção, sqlcmd será fechado com um erro.If -b is specified together with this option, sqlcmd exits on error. -b é descrito posteriormente neste tópico.-b is described later in this topic.

-t query_timeout-t query_timeout
Especifica quanto segundos faltam para que um comando (ou instrução SQL) expire. Essa opção define a variável de script SQLCMDSTATTIMEOUT do sqlcmd .Specifies the number of seconds before a command (or SQL statement) times out. This option sets the sqlcmd scripting variable SQLCMDSTATTIMEOUT. Se um valor time_out não for especificado, o comando não atingirá o tempo limite. O querytime_out precisa ser um número entre 1 e 65534.If a time_out value is not specified, the command does not time out. The querytime_out must be a number between 1 and 65534. Se o valor fornecido não for numérico ou se não estiver nesse intervalo, o sqlcmd vai gerar uma mensagem de erro.If the value supplied is not numeric or does not fall into that range, sqlcmd generates an error message.

Observação

O valor do tempo limite real poderá variar em relação ao valor time_out especificado em vários segundos.The actual time out value may vary from the specified time_out value by several seconds.

-vvar = value[ var = value...]-vvar = value[ var = value...]
Cria uma variável de script sqlcmdque pode ser usada em um script sqlcmd .Creates a sqlcmdscripting variable that can be used in a sqlcmd script. Se o valor contiver espaços, mantenha-o entre aspas.Enclose the value in quotation marks if the value contains spaces. Você pode especificar vários valores var="values".You can specify multiple var="values" values. Se houver erros em algum dos valores especificados, o sqlcmd vai gerar uma mensagem de erro e será encerrado.If there are errors in any of the values specified, sqlcmd generates an error message and then exits.

sqlcmd -v MyVar1=something MyVar2="some thing"

sqlcmd -v MyVar1=something -v MyVar2="some thing"

-x-x
Faz com que o sqlcmd ignore variáveis de script.Causes sqlcmd to ignore scripting variables. Isso é útil quando um script contém muitas instruções INSERT que podem conter cadeias de caracteres que têm o mesmo formato de variáveis regulares, como $(variable_name).This is useful when a script contains many INSERT statements that may contain strings that have the same format as regular variables, such as $(variable_name).

Opções de formataçãoFormatting Options
-h headers-h headers
Especifica o número de linhas a imprimir entre os títulos da coluna.Specifies the number of rows to print between the column headings. O padrão é imprimir títulos uma vez para cada conjunto de resultados de consulta.The default is to print headings one time for each set of query results. Essa opção define a variável de script SQLCMDHEADERS do sqlcmd .This option sets the sqlcmd scripting variable SQLCMDHEADERS. Use -1 para especificar que os cabeçalhos não devem ser impressos.Use -1 to specify that headers must not be printed. Qualquer valor inválido faz com que o sqlcmd gere uma mensagem de erro e seja encerrado.Any value that is not valid causes sqlcmd to generate an error message and then exit.

-k [1 | 2]-k [1 | 2]
Remove todos os caracteres de controle, como tabulações e caracteres de nova linha, da saída.Removes all control characters, such as tabs and new line characters from the output. Isso preserva a formatação de coluna quando os dados são retornados.This preserves column formatting when data is returned. Se for especificado 1, os caracteres de controle serão substituídos por um único espaço.If 1 is specified, the control characters are replaced by a single space. Se for especificado 2, os caracteres de controle consecutivos serão substituídos por um único espaço.If 2 is specified, consecutive control characters are replaced by a single space. -k é igual a -k1.-k is the same as -k1.

-s col_separator-s col_separator
Especifica o caractere do separador de coluna.Specifies the column-separator character. O padrão é um espaço em branco.The default is a blank space. Essa opção define a variável de script SQLCMDCOLSEP do sqlcmd .This option sets the sqlcmd scripting variable SQLCMDCOLSEP. Para usar caracteres com um significado especial para o sistema operacional como, por exemplo, E comercial (&) ou ponto e vírgula (;), use-os entre aspas (").To use characters that have special meaning to the operating system such as the ampersand (&), or semicolon (;), enclose the character in quotation marks ("). O separador de coluna pode ser qualquer caractere de 8 bits.The column separator can be any 8-bit character.

-w column_width-w column_width
Especifica a largura de tela para saída.Specifies the screen width for output. Essa opção define a variável de script SQLCMDCOLWIDTH do sqlcmd .This option sets the sqlcmd scripting variable SQLCMDCOLWIDTH. A largura da coluna deve ser um número maior que 8 e menor que 65536.The column width must be a number greater than 8 and less than 65536. Se a largura da coluna especificada não estiver nesse intervalo, o sqlcmd vai gerar uma mensagem de erro.If the specified column width does not fall into that range, sqlcmd generates and error message. A largura padrão é 80 caracteres.The default width is 80 characters. Quando uma linha de saída excede a largura de coluna especificada, ela inclui a próxima linha.When an output line exceeds the specified column width, it wraps on to the next line.

-W-W
Essa opção remove espaços à direita de uma coluna.This option removes trailing spaces from a column. Use esta opção com a opção -s ao preparar dados a serem exportados para outro aplicativo.Use this option together with the -s option when preparing data that is to be exported to another application. Ela não pode ser usada com as opções -y ou -Y .Cannot be used with the -y or -Y options.

-y variable_length_type_display_width-y variable_length_type_display_width
Define a variável de script sqlcmd SQLCMDMAXVARTYPEWIDTH.Sets the sqlcmd scripting variable SQLCMDMAXVARTYPEWIDTH. O padrão é 256.The default is 256. Ele limita o número de caracteres retornados para os tipos de dados com comprimento variável grande:It limits the number of characters that are returned for the large variable length data types:

  • varchar(max)varchar(max)

  • nvarchar(max)nvarchar(max)

  • varbinary(max)varbinary(max)

  • xmlxml

  • UDT (tipos de dados definidos pelo usuário)UDT (user-defined data types)

  • textotext

  • ntextntext

  • imagemimage

Observação

UDTs podem ter comprimento fixo dependendo da implementação.UDTs can be of fixed length depending on the implementation. Se esse tamanho de UDT de tamanho fixo for mais curto que display_width, o valor do UDT retornado não será afetado.If this length of a fixed length UDT is shorter that display_width, the value of the UDT returned is not affected. Porém, se o tamanho for mais longo que display_width, a saída será truncada.However, if the length is longer than display_width, the output is truncated.

Importante

Use a opção -y 0 com muito cuidado, porque isso poderá causar graves problemas de desempenho tanto no servidor quanto na rede, dependendo do tamanho dos dados retornados.Use the -y 0 option with extreme caution because it may cause serious performance issues on both the server and the network, depending on the size of data returned.

-Y fixed_length_type_display_width-Y fixed_length_type_display_width
Define a variável de script sqlcmd SQLCMDMAXFIXEDTYPEWIDTH.Sets the sqlcmd scripting variable SQLCMDMAXFIXEDTYPEWIDTH. O padrão é 0 (ilimitado).The default is 0 (unlimited). Limita o número de caracteres retornado para os tipos de dados a seguir:Limits the number of characters that are returned for the following data types:

  • char( n ), em que 1<=n<=8000char( n ), where 1<=n<=8000

  • nchar(n n ), em que 1<=n<=4000nchar(n n ), where 1<=n<=4000

  • varchar(n n ), em que 1<=n<=8000varchar(n n ), where 1<=n<=8000

  • nvarchar(n n ), em que 1<=n<=4000nvarchar(n n ), where 1<=n<=4000

  • varbinary(n n ), em que 1<=n<=4000varbinary(n n ), where 1<=n<=4000

  • variantvariant

    Opções de relatório de errosError Reporting Options
    -b-b
    Especifica que o sqlcmd é fechado e retorna um valor DOS ERRORLEVEL em caso de erro.Specifies that sqlcmd exits and returns a DOS ERRORLEVEL value when an error occurs. O valor retornado à variável DOS ERRORLEVEL será 1 quando a mensagem de erro do SQL Server tiver um nível de gravidade maior que 10. Caso contrário, o valor retornado será 0.The value that is returned to the DOS ERRORLEVEL variable is 1 when the SQL Server error message has a severity level greater than 10; otherwise, the value returned is 0. Se a opção -V tiver sido definida além de -b, o sqlcmd não relatará um erro se o nível de severidade for inferior aos valores definidos com -V.If the -V option has been set in addition to -b, sqlcmd will not report an error if the severity level is lower than the values set using -V. Arquivos em lote do prompt de comando podem testar o valor de ERRORLEVEL e tratar o erro adequadamente.Command prompt batch files can test the value of ERRORLEVEL and handle the error appropriately. Osqlcmd não relata erros para o nível de severidade 10 (mensagens informativas).sqlcmd does not report errors for severity level 10 (informational messages).

    Se o script sqlcmd tiver um comentário incorreto, erro de sintaxe, ou se estiver faltando uma variável de script, ERRORLEVEL retorna 1.If the sqlcmd script contains an incorrect comment, syntax error, or is missing a scripting variable, ERRORLEVEL returned is 1.

    -m error_level-m error_level
    Controla quais mensagens de erro são enviadas para stdout.Controls which error messages are sent to stdout. Mensagens com um nível de severidade maior ou igual a esse nível são enviadas.Messages that have a severity level greater than or equal to this level are sent. Quando esse valor for definido como -1, todas as mensagens, incluindo mensagens informativas, serão enviadas.When this value is set to -1, all messages including informational messages, are sent. Não são permitidos espaços entre -m e -1.Spaces are not allowed between the -m and -1. Por exemplo, -m-1 é válido, e -m-1 não.For example, -m-1 is valid, and -m-1 is not.

    Essa opção também define a variável de script SQLCMDERRORLEVEL do sqlcmd .This option also sets the sqlcmd scripting variable SQLCMDERRORLEVEL. Essa variável tem um padrão de 0.This variable has a default of 0.

    -V error_severity_level-V error_severity_level
    Controla o nível de severidade usado para definir a variável ERRORLEVEL.Controls the severity level that is used to set the ERRORLEVEL variable. Mensagens de erro com níveis de severidade maiores ou iguais a esse valor definem ERRORLEVEL.Error messages that have severity levels greater than or equal to this value set ERRORLEVEL. Valores menores que 0 são reportados como 0.Values that are less than 0 are reported as 0. Podem ser usados arquivos de lote e CMD para testar o valor da variável ERRORLEVEL.Batch and CMD files can be used to test the value of the ERRORLEVEL variable.

    Opções diversasMiscellaneous Options
    -a packet_size-a packet_size
    Exige um pacote de tamanho diferente.Requests a packet of a different size. Essa opção define a variável de script SQLCMDPACKETSIZE do sqlcmd .This option sets the sqlcmd scripting variable SQLCMDPACKETSIZE. packet_size deve ser um valor entre 512 e 32767.packet_size must be a value between 512 and 32767. O padrão é igual a 4096.The default = 4096. Um tamanho de pacote maior pode melhorar o desempenho da execução de scripts que tenham muitas instruções SQL entre comandos GO.A larger packet size can enhance performance for execution of scripts that have lots of SQL statements between GO commands. Pode-se solicitar um tamanho de pacote maior.You can request a larger packet size. Porém, se a solicitação for negada, o sqlcmd usará o padrão de servidor para tamanho de pacote.However, if the request is denied, sqlcmd uses the server default for packet size.

    -c batch_terminator-c batch_terminator
    Especifica o terminador de lote.Specifies the batch terminator. Por padrão, comandos são finalizados e enviados para o SQL Server ao digitar a palavra "GO" sozinha em uma linha.By default, commands are terminated and sent to SQL Server by typing the word "GO" on a line by itself. Ao redefinir o terminador de lote, não use palavras-chave reservadas do Transact-SQL ou caracteres que tenham um significado especial para o sistema operacional, mesmo que eles sejam precedidos por uma barra invertida.When you reset the batch terminator, do not use Transact-SQL reserved keywords or characters that have special meaning to the operating system, even if they are preceded by a backslash.

    -L[c]-L[c]
    Lista os computadores servidor localmente configurados e os nomes dos computadores servidor que estão transmitindo na rede.Lists the locally configured server computers, and the names of the server computers that are broadcasting on the network. Esse parâmetro não pode ser usado em combinação com outros parâmetros.This parameter cannot be used in combination with other parameters. O número máximo de computadores servidores que pode ser listado é 3000.The maximum number of server computers that can be listed is 3000. Se a lista de servidores ficar truncada devido ao tamanho do buffer, será exibida uma mensagem de aviso.If the server list is truncated because of the size of the buffer a warning message is displayed.

Observação

Devido à natureza da transmissão em redes, o sqlcmd pode não receber a tempo uma resposta de todos os servidores.Because of the nature of broadcasting on networks, sqlcmd may not receive a timely response from all servers. Assim, a lista de servidores retornada pode variar para cada invocação dessa opção.Therefore, the list of servers returned may vary for each invocation of this option.

Se for especificado o parâmetro opcional c , a saída aparecerá sem os servidores: linha de cabeçalho e cada linha de servidor será listada sem espaços à esquerda.If the optional parameter c is specified, the output appears without the Servers: header line and each server line is listed without leading spaces. Isso é chamado de saída normal.This is referred to as clean output. A saída normal melhora o desempenho de processamento das linguagens dos scripts.Clean output improves the processing performance of scripting languages.

-p[1]-p[1]
Imprime estatísticas de desempenho para cada conjunto de resultados.Prints performance statistics for every result set. O exemplo a seguir mostra o formato para estatísticas de desempenho:The following is an example of the format for performance statistics:

Network packet size (bytes): n

x xact[s]:

Clock Time (ms.): total t1 avg t2 (t3 xacts per sec.)

Onde:Where:

x = Número de transações que são processadas pelo SQL Server.x = Number of transactions that are processed by SQL Server .

t1 = Tempo total para todas as transações.t1 = Total time for all transactions.

t2 = Tempo médio de uma única transação.t2 = Average time for a single transaction.

t3 = Número médio de transações por segundo.t3 = Average number of transactions per second.

Todos os tempos estão em milissegundos.All times are in milliseconds.

Se o parâmetro opcional 1 for especificado, o formato de saída das estatísticas estará em formato separado por dois pontos, que poderá ser facilmente importado para uma planilha ou processado por um script.If the optional parameter 1 is specified, the output format of the statistics is in colon-separated format that can be imported easily into a spreadsheet or processed by a script.

Se o parâmetro opcional for qualquer valor diferente de 1, será gerado um erro e o sqlcmd será encerrado.If the optional parameter is any value other than 1, an error is generated and sqlcmd exits.

-X[1]-X[1]
Desabilita os comandos que podem comprometer a segurança do sistema quando o sqlcmd é executado em um arquivo em lotes.Disables commands that might compromise system security when sqlcmd is executed from a batch file. Os comandos desabilitados ainda são reconhecidos; o sqlcmd emite uma mensagem de aviso e continua.The disabled commands are still recognized; sqlcmd issues a warning message and continues. Se for especificado o parâmetro opcional 1 , o sqlcmd vai gerar uma mensagem de erro e será encerrado.If the optional parameter 1 is specified, sqlcmd generates an error message and then exits. Os seguintes comandos são desabilitados quando a opção -X é usada:The following commands are disabled when the -X option is used:

  • EDED

  • !!!! commandcommand

    Se a opção -X for especificada, isso prevenirá que variáveis de ambiente sejam passadas para o sqlcmd.If the -X option is specified, it prevents environment variables from being passed on to sqlcmd. Evita também que o script de inicialização especificado, usando a variável de script SQLCMDINI, seja executado.It also prevents the startup script specified by using the SQLCMDINI scripting variable from being executed. Para obter mais informações sobre as variáveis de script do sqlcmd , consulte Usar o sqlcmd com variáveis de script.For more information about sqlcmd scripting variables, see Use sqlcmd with Scripting Variables.

    -?-?
    Exibe a versão do sqlcmd e um resumo da sintaxe das opções do sqlcmd .Displays the version of sqlcmd and a syntax summary of sqlcmd options.

RemarksRemarks

As opções não precisam ser usadas na ordem mostrada na seção de sintaxe.Options do not have to be used in the order shown in the syntax section.

Quando são retornados vários resultados, o sqlcmd imprime uma linha em branco entre cada conjunto de resultados em um lote.When multiple results are returned, sqlcmd prints a blank line between each result set in a batch. Além disso, a mensagem <x> rows affected não é exibida quando não se aplica à instrução executada.In addition, the <x> rows affected message does not appear when it does not apply to the statement executed.

Para usar o sqlcmd interativamente, digite sqlcmd no prompt de comando com uma ou mais das opções descritas anteriormente neste tópico.To use sqlcmd interactively, type sqlcmd at the command prompt with any one or more of the options described earlier in this topic. Para obter mais informações, consulte Usar o Utilitário sqlcmdFor more information, see Use the sqlcmd Utility

Observação

As opções -L, -Q, -Z ou -i fazem com que o sqlcmd seja fechado após a execução.The options -L, -Q, -Z or -i cause sqlcmd to exit after execution.

O tamanho total da linha de comando do sqlcmd no ambiente de comando (Cmd.exe), incluindo todos os argumentos e variáveis expandidas, é aquele determinado pelo sistema operacional para Cmd.exe.The total length of the sqlcmd command line in the command environment (Cmd.exe), including all arguments and expanded variables, is that which is determined by the operating system for Cmd.exe.

Precedência de variável (baixa para alta)Variable Precedence (Low to High)

  1. Variáveis ambientais do nível de sistema.System-level environmental variables.

  2. Variáveis ambientais do nível de usuário.User-level environmental variables

  3. Shell de comando (SET X=Y) definido no prompt de comando antes da execução do sqlcmd.Command shell (SET X=Y) set at command prompt before running sqlcmd.

  4. sqlcmd-v X=Ysqlcmd-v X=Y

  5. :Setvar X Y:Setvar X Y

Observação

Para exibir as variáveis ambientais, no Painel de Controle, abra Sistemae clique na guia Avançado .To view the environmental variables, in Control Panel, open System, and then click the Advanced tab.

Variáveis de script do sqlcmdsqlcmd Scripting Variables

VariávelVariable Opção relacionadaRelated switch R/WR/W PadrãoDefault
SQLCMDUSERSQLCMDUSER -U-U RR """"
SQLCMDPASSWORDSQLCMDPASSWORD -P-P -- """"
SQLCMDSERVERSQLCMDSERVER -S-S RR "DefaultLocalInstance""DefaultLocalInstance"
SQLCMDWORKSTATIONSQLCMDWORKSTATION -H-H RR "ComputerName""ComputerName"
SQLCMDDBNAMESQLCMDDBNAME -d-d RR """"
SQLCMDLOGINTIMEOUTSQLCMDLOGINTIMEOUT -l-l R/WR/W "8" (segundos)"8" (seconds)
SQLCMDSTATTIMEOUTSQLCMDSTATTIMEOUT -t-t R/WR/W "0" = espere indefinidamente"0" = wait indefinitely
SQLCMDHEADERSSQLCMDHEADERS -H-h R/WR/W "0""0"
SQLCMDCOLSEPSQLCMDCOLSEP -S-s R/WR/W " ."" "
SQLCMDCOLWIDTHSQLCMDCOLWIDTH -w-w R/WR/W "0""0"
SQLCMDPACKETSIZESQLCMDPACKETSIZE -A-a RR "4096""4096"
SQLCMDERRORLEVELSQLCMDERRORLEVEL -M-m R/WR/W 00
SQLCMDMAXVARTYPEWIDTHSQLCMDMAXVARTYPEWIDTH -y-y R/WR/W "256""256"
SQLCMDMAXFIXEDTYPEWIDTHSQLCMDMAXFIXEDTYPEWIDTH -y-Y R/WR/W "0" = ilimitado"0" = unlimited
SQLCMDEDITORSQLCMDEDITOR R/WR/W "edit.com""edit.com"
SQLCMDINISQLCMDINI RR """"
SQLCMDUSEAADSQLCMDUSEAAD - G-G R/WR/W """"

SQLCMDUSER, SQLCMDPASSWORD e SQLCMDSERVER são definidos ao usar :Connect .SQLCMDUSER, SQLCMDPASSWORD and SQLCMDSERVER are set when :Connect is used.

R indica que o valor pode ser definido apenas uma vez durante a inicialização do programa.R indicates the value can only be set one time during program initialization.

R/W indica que o valor pode ser modificado com o comando setvar e que os próximos comandos serão influenciados pelo novo valor.R/W indicates that the value can be modified by using the setvar command and subsequent commands will be influenced by the new value.

Comandos sqlcmdsqlcmd Commands

Além de instruções Transact-SQL no sqlcmd, os comandos a seguir também estão disponíveis:In addition to Transact-SQL statements within sqlcmd, the following commands are also available:

GO [count]GO [count] :List:List
[:] RESET[:] RESET :Error:Error
[:] ED[:] ED :Out:Out
[:] !![:] !! :Perftrace:Perftrace
[:] QUIT[:] QUIT :Connect:Connect
[:] EXIT[:] EXIT :On Error:On Error
:r:r :Help:Help
:ServerList:ServerList :XML [ON | OFF]:XML [ON | OFF]
:Setvar:Setvar :Listvar:Listvar

Lembre-se do seguinte ao usar comandos sqlcmd :Be aware of the following when you use sqlcmd commands:

  • Todos os comandos do sqlcmd , exceto GO, devem ser prefixados com dois-pontos (:).All sqlcmd commands, except GO, must be prefixed by a colon (:).

    Importante

    Para manter a compatibilidade com versões anteriores de scripts osql existentes, alguns dos comandos serão reconhecidos sem os dois-pontos.To maintain backward compatibility with existing osql scripts, some of the commands will be recognized without the colon. Isso é indicado pelo [:].This is indicated by the [:].

  • Os comandossqlcmd serão reconhecidos apenas se aparecerem no início de uma linha.sqlcmd commands are recognized only if they appear at the start of a line.

  • Todos os comandos sqlcmd não diferenciam maiúsculas de minúsculas.All sqlcmd commands are case insensitive.

  • Cada comando deve estar em uma linha separada.Each command must be on a separate line. Um comando não pode ser seguido por uma instrução Transact-SQL nem por outro comando.A command cannot be followed by a Transact-SQL statement or another command.

  • Comandos são executados imediatamente.Commands are executed immediately. Eles não são colocados no buffer de execução como instruções Transact-SQL.They are not put in the execution buffer as Transact-SQL statements are.

    Comandos de EdiçãoEditing Commands
    [:] ED[:] ED
    Inicie o editor de textos.Starts the text editor. Esse editor pode ser usado para editar o lote Transact-SQL atual ou o último lote executado.This editor can be used to edit the current Transact-SQL batch, or the last executed batch. Para editar o último lote executado, o comando ED deve ser digitado imediatamente depois da execução do último lote.To edit the last executed batch, the ED command must be typed immediately after the last batch has completed execution.

    O editor de textos é definido pela variável de ambiente SQLCMDEDITOR.The text editor is defined by the SQLCMDEDITOR environment variable. O editor padrão é 'Editar.'The default editor is 'Edit'. Para alterar o editor, defina a variável de ambiente SQLCMDEDITOR.To change the editor, set the SQLCMDEDITOR environment variable. Por exemplo, para definir o editor como o Microsoft Notepad, no prompt de comando, digite:For example, to set the editor to Microsoft Notepad, at the command prompt, type:

    SET SQLCMDEDITOR=notepad

    [:] RESET[:] RESET
    Desmarca o cache de instruções.Clears the statement cache.

    :List:List
    Imprime o conteúdo do cache de instrução.Prints the content of the statement cache.

    VariablesVariables
    : Setvar < var> [ "valor" ]:Setvar <var> [ "value" ]
    Define as variáveis de script do sqlcmd .Defines sqlcmd scripting variables. Variáveis de script têm o seguinte formato: $(VARNAME).Scripting variables have the following format: $(VARNAME).

    Nomes de variáveis não diferenciam maiúsculas de minúsculas.Variable names are case insensitive.

    Variáveis de script podem ser definidas da seguinte forma:Scripting variables can be set in the following ways:

  • Usando-se implicitamente uma opção de linha de comando.Implicitly using a command-line option. Por exemplo, a opção -l define a variável SQLCMDLOGINTIMEOUT do sqlcmd .For example, the -l option sets the SQLCMDLOGINTIMEOUT sqlcmd variable.

  • Explicitamente, usando o comando :Setvar .Explicitly by using the :Setvar command.

  • Definindo uma variável de ambiente antes de executar o sqlcmd.By defining an environment variable before you run sqlcmd.

Observação

A opção -X previne que variáveis de ambiente sejam passadas para o sqlcmd.The -X option prevents environment variables from being passed on to sqlcmd.

Se uma variável definida com :Setvar e uma variável de ambiente tiverem o mesmo nome, a variável definida com :Setvar terá precedência.If a variable defined by using :Setvar and an environment variable have the same name, the variable defined by using :Setvar takes precedence.

Nomes de variáveis não devem conter caracteres de espaço em branco.Variable names must not contain blank space characters.

Nomes de variáveis não podem ter a mesma forma que uma expressão variável, como $ (var).Variable names cannot have the same form as a variable expression, such as $(var).

Se o valor da cadeia de caracteres da variável de script tiver espaços em branco, use aspas.If the string value of the scripting variable contains blank spaces, enclose the value in quotation marks. Se não for especificado um valor para uma variável de script, a variável de script será descartada.If a value for a scripting variable is not specified, the scripting variable is dropped.

:Listvar:Listvar
Exibe uma lista das variáveis de script definidas atualmente.Displays a list of the scripting variables that are currently set.

Observação

Serão exibidas somente variáveis de script definidas pelo sqlcmde aquelas definidas usando o comando :Setvar .Only scripting variables that are set by sqlcmd, and those that are set using the :Setvar command will be displayed.

Comandos de SaídaOutput Commands
:Error :Error
< filename >| STDERR|STDOUT< filename >| STDERR|STDOUT
Redireciona toda a saída de erro para o arquivo especificado por nome do arquivopara stderr ou stdout.Redirect all error output to the file specified by file name, to stderr or to stdout. O comando Error pode aparecer várias vezes em um script.The Error command can appear multiple times in a script. Por padrão, saída de erro é enviada para stderr.By default, error output is sent to stderr.

nome do arquivofile name
Cria e abre um arquivo que receberá a saída.Creates and opens a file that will receive the output. Se o arquivo já existir, será truncado para zero bytes.If the file already exists, it will be truncated to zero bytes. Se o arquivo não estiver disponível devido a permissões ou outras razões, a saída não será alternada e será enviada ao último destino especificado ou ao destino padrão.If the file is not available because of permissions or other reasons, the output will not be switched and will be sent to the last specified or default destination.

STDERRSTDERR
Muda a saída de erro para o fluxo stderr .Switches error output to the stderr stream. Se houver redirecionamento, o destino para o qual o fluxo foi redirecionado receberá a saída de erro.If this has been redirected, the target to which the stream has been redirected will receive the error output.

STDOUTSTDOUT
Muda a saída de erro para o fluxo stdout .Switches error output to the stdout stream. Se houver redirecionamento, o destino para o qual o fluxo foi redirecionado receberá a saída de erro.If this has been redirected, the target to which the stream has been redirected will receive the error output.

:Out < filename >| STDERR| STDOUT:Out < filename >| STDERR| STDOUT
Cria e redireciona todos os resultados da consulta para o arquivo especificado por nome do arquivopara stderr ou stdout.Creates and redirects all query results to the file specified by file name, to stderr or to stdout. Por padrão, a saída é enviada para stdout.By default, output is sent to stdout. Se o arquivo já existir, será truncado para zero bytes.If the file already exists, it will be truncated to zero bytes. O comando Out pode aparecer várias vezes em um script.The Out command can appear multiple times in a script.

:Perftrace < filename >| STDERR| STDOUT:Perftrace < filename >| STDERR| STDOUT
Cria e redireciona todas as informações de rastreamento de desempenho para o arquivo especificado por nome do arquivopara stderr ou stdout.Creates and redirects all performance trace information to the file specified by file name, to stderr or to stdout. Por padrão a saída de rastreamento de desempenho é enviada para stdout.By default performance trace output is sent to stdout. Se o arquivo já existir, será truncado para zero bytes.If the file already exists, it will be truncated to zero bytes. O comando Perftrace pode aparecer várias vezes em um script.The Perftrace command can appear multiple times in a script.

Comandos de controle de execuçãoExecution Control Commands
:On Error[ exit | ignore]: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.Sets the action to be performed when an error occurs during script or batch execution.

Quando a opção exit é usada, o sqlcmd é encerrado com o valor de erro adequado.When the exit option is used, sqlcmd exits with the appropriate error value.

Quando é usada a opção ignore , o sqlcmd ignora o erro e continua executando o lote ou script.When the ignore option is used, sqlcmd ignores the error and continues executing the batch or script. Por padrão, será impressa uma mensagem de erro.By default, an error message will be printed.

[:] QUIT[:] QUIT
Faz com que o sqlcmd seja fechado.Causes sqlcmd to exit.

[:] EXIT[ (statement) ][:] EXIT[ (statement) ]
Permite usar o resultado de uma instrução SELECT como o valor de retorno do sqlcmd.Lets you use the result of a SELECT statement as the return value from sqlcmd. Se numérico, a primeira coluna da última linha do resultado será convertida em um inteiro de 4 bytes (longo).If numeric, the first column of the last result row is converted to a 4-byte integer (long). O MS-DOS transmite o byte baixo para o processo pai ou nível de erro do sistema operacional.MS-DOS passes the low byte to the parent process or operating system error level. O Windows 200x passa todo o número inteiro de 4 bytes.Windows 200x passes the whole 4-byte integer. A sintaxe é:The syntax is:

:EXIT(query)

Por exemplo:For example:

:EXIT(SELECT @@ROWCOUNT)

É possível incluir também o parâmetro EXIT como parte de um arquivo em lote.You can also include the EXIT parameter as part of a batch file. Por exemplo, no prompt de comando, digite:For example, at the command prompt, type:

sqlcmd -Q "EXIT(SELECT COUNT(*) FROM '%1')"

O utilitário sqlcmd envia tudo entre os parênteses () para o servidor.The sqlcmd utility sends everything between the parentheses () to the server. Se um procedimento armazenado de sistema selecionar um conjunto e retornar um valor, somente a seleção será retornada.If a system stored procedure selects a set and returns a value, only the selection is returned. A instrução EXIT () sem nada entre os parênteses executa tudo antes dela no lote e é fechada sem um valor de retorno.The EXIT () statement with nothing between the parentheses executes everything before it in the batch and then exits without a return value.

Quando é especificada uma consulta incorreta, o sqlcmd é encerrado sem um valor de retorno.When an incorrect query is specified, sqlcmd will exit without a return value.

Eis uma lista de formatos EXIT:Here is a list of EXIT formats:

  • :EXIT:EXIT

    Não executa o lote e então sai imediatamente e não retorna valor algum.Does not execute the batch, and then quits immediately and returns no value.

  • :EXIT( ):EXIT( )

    Executa o lote e então sai imediatamente e não retorna valor algum.Executes the batch, and then quits and returns no value.

  • :EXIT(query):EXIT(query)

    Executa o lote que inclui a consulta, e então sai depois de retornar os resultados da consulta.Executes the batch that includes the query, and then quits after it returns the results of the query.

    Se for usado RAISERROR em um script do sqlcmd e ocorrer um estado 127, o sqlcmd será encerrado e retornará a ID da mensagem para o cliente.If RAISERROR is used within a sqlcmd script and a state of 127 is raised, sqlcmd will quit and return the message ID back to the client. Por exemplo:For example:

    RAISERROR(50001, 10, 127)

    Esse erro fará com que o script do sqlcmd seja encerrado e retorne a ID de mensagem 50001 ao cliente.This error will cause the sqlcmd script to end and return the message ID 50001 to the client.

    Os valores de retorno -1 a -99 são reservados pelo SQL Server. O sqlcmd define os seguintes valores retornados adicionais:The return values -1 to -99 are reserved by SQL Server ; sqlcmd defines the following additional return values:

Valores de retornoReturn Values DescriptionDescription
-100-100 Erro encontrado antes da seleção do valor de retorno.Error encountered prior to selecting return value.
-101-101 Nenhuma linha encontrada ao se selecionar o valor de retorno.No rows found when selecting return value.
-102-102 Erro de conversão ao selecionar valor de retorno.Conversion error occurred when selecting return value.

GO [count]GO [count]
GO sinaliza o final de um lote e a execução de todas as instruções Transact-SQL armazenadas em cache. O lote é executado várias vezes como lotes separados. Não é possível declarar uma variável mais de uma vez em um único lote.GO signals both the end of a batch and the execution of any cached Transact-SQL statements.The batch is executed multiple times as separate batches; you cannot declare a variable more than once in a single batch.

Comandos diversosMiscellaneous Commands
:r < filename >:r < filename >
Analisa as instruções Transact-SQL e os comandos do sqlcmd adicionais do arquivo especificado por <filename> no cache de instruções.Parses additional Transact-SQL statements and sqlcmd commands from the file specified by <filename> into the statement cache.

Se o arquivo contiver instruções Transact-SQL que não sejam seguidas por GO, digite GO na linha que segue :r.If the file contains Transact-SQL statements that are not followed by GO, you must enter GO on the line that follows :r.

Observação

< filename > é lido em relação ao diretório de inicialização no qual o sqlcmd foi executado.< filename > is read relative to the startup directory in which sqlcmd was run.

O arquivo será lido e executado depois que for encontrado um terminador de lote.The file will be read and executed after a batch terminator is encountered. Podem ser emitidos vários comandos :r .You can issue multiple :r commands. O arquivo pode incluir qualquer comando sqlcmd .The file may include any sqlcmd command. Isso inclui o terminador de lote GO.This includes the batch terminator GO.

Observação

A contagem de linha que é exibida em modo interativo será aumentada em um para cada comando :r encontrado.The line count that is displayed in interactive mode will be increased by one for every :r command encountered. O comando :r aparecerá na saída do comando de lista.The :r command will appear in the output of the list command.

:Serverlist:Serverlist
Lista os servidores configurados localmente e os nomes dos servidores que estão transmitindo na rede.Lists the locally configured servers and the names of the servers broadcasting on the network.

:Connect server_name[\instance_name] [-l timeout] [-U user_name [-P password]]:Connect server_name[\instance_name] [-l timeout] [-U user_name [-P password]]
Conecta-se a uma instância do SQL Server.Connects to an instance of SQL Server . Além disso fecha a conexão atual.Also closes the current connection.

Opções de tempo limite:Time-out options:

00 esperarwait forever
n>0n>0 esperar por n segundoswait for n seconds

A variável de script SQLCMDSERVER refletirá a conexão ativa atual.The SQLCMDSERVER scripting variable will reflect the current active connection.

Se não for especificado timeout , o valor da variável SQLCMDLOGINTIMEOUT será o padrão.If timeout is not specified, the value of the SQLCMDLOGINTIMEOUT variable is the default.

Se apenas user_name for especificado (como uma opção ou variável de ambiente), será solicitado que o usuário insira uma senha.If only user_name is specified (either as an option, or as an environment variable), the user will be prompted to enter a password. Isso não ocorre se as variáveis de ambiente SQLCMDUSER ou SQLCMDPASSWORD tiverem sido definidas.This is not true if the SQLCMDUSER or SQLCMDPASSWORD environment variables have been set. Se as opções e as variáveis de ambiente não forem fornecidas, o modo de Autenticação do Windows será usado para fazer logon.If neither options nor environment variables are provided, Windows Authentication mode is used to login. Por exemplo, para conectar-se a uma instância, instance1, do SQL Server, myserver, usando a segurança integrada você usaria o seguinte:For example to connect to an instance, instance1, of SQL Server , myserver, by using integrated security you would use the following:

:connect myserver\instance1

Para conectar-se à instância padrão do myserver usando variáveis de script, você usaria o seguinte:To connect to the default instance of myserver using scripting variables, you would use the following:

:setvar myusername test

:setvar myservername myserver

:connect $(myservername) $(myusername)

[:] !!< command>[:] !!< command>
Executa comandos de sistema operacional.Executes operating system commands. Para executar um comando do sistema operacional, inicie uma linha com dois pontos de exclamação (!!) seguida do comando do sistema operacional.To execute an operating system command, start a line with two exclamation marks (!!) followed by the operating system command. Por exemplo:For example:

:!! Dir

Observação

O comando é executado no computador em que o sqlcmd está sendo executado.The command is executed on the computer on which sqlcmd is running.

:XML [ON | OFF]:XML [ON | OFF]
Para obter mais informações, consulte Formato de saída XML e Formato de saída JSON neste tópicoFor more information, see XML Output Format and JSON Output Format in this topic

:Help:Help
Lista comandos do sqlcmd , juntamente com uma breve descrição de cada comando.Lists sqlcmd commands together with a short description of each command.

Nomes de arquivos sqlcmdsqlcmd File Names

Arquivos de entrada dosqlcmd podem ser especificados com a opção -i ou o comando :r .sqlcmd input files can be specified with the -i option or the :r command. Arquivos de saída podem ser especificados com a opção -o ou os comandos :Error, :Out e :Perftrace .Output files can be specified with the -o option or the :Error, :Out and :Perftrace commands. A seguir algumas diretrizes sobre como trabalhar com esses arquivos:The following are some guidelines for working with these files:

  • :Error, :Out e :Perftrace devem usar um <filename> separado.:Error, :Out and :Perftrace should use separate <filename>. Se o mesmo <filename> for usado, as entradas dos comandos poderão ser misturadas.If the same <filename> is used, inputs from the commands may be intermixed.

  • Se um arquivo de entrada localizado em um servidor remoto for chamado no sqlcmd em um computador local e o arquivo contiver um caminho de arquivo de unidade como :out c:\OutputFile.txt.If an input file that is located on a remote server is called from sqlcmd on a local computer and the file contains a drive file path such as :out c:\OutputFile.txt. O arquivo de saída será criado no computador local e não no servidor remoto.The output file will be created on the local computer and not on the remote server.

  • Caminhos de arquivo válidos incluem: C:\<filename>, \\<Server>\<Share$>\<filename> e "C:\Some Folder\<file name>".Valid file paths include: C:\<filename>, \\<Server>\<Share$>\<filename> and "C:\Some Folder\<file name>". Se houver um espaço no caminho, use aspas.If there is a space in the path, use quotation marks.

  • Cada nova sessão do sqlcmd substituirá arquivos existentes que tenham os mesmos nomes.Each new sqlcmd session will overwrite existing files that have the same names.

Mensagens informativasInformational Messages

Osqlcmd imprime qualquer mensagem informativa enviada pelo servidor.sqlcmd prints any informational message that are sent by the server. No exemplo a seguir, depois que as instruções Transact-SQL são executadas, é impressa uma mensagem informativa.In the following example, after the Transact-SQL statements are executed, an informational message is printed.

No prompt de comando, digite o seguinte:At the command prompt, type the following:

sqlcmd

At the sqlcmd prompt type:

USE AdventureWorks2012;

GO

Ao pressionar ENTER, será impressa a seguinte mensagem informativa: "Contexto de banco de dados alterado para 'AdventureWorks2012'."When you press ENTER, the following informational message is printed: "Changed database context to 'AdventureWorks2012'."

Formato de saída do Transact-SQL QueriesOutput Format from Transact-SQL Queries

Osqlcmd imprime, em primeiro lugar, um cabeçalho de coluna com os nomes de coluna especificados na lista de seleção.sqlcmd first prints a column header that contains the column names specified in the select list. Os nomes de coluna são separados usando-se o caractere SQLCMDCOLSEP.The column names are separated by using the SQLCMDCOLSEP character. Por padrão, esse é um espaço.By default, this is a space. Se o nome de coluna for mais curto do que a largura de coluna, a saída será preenchida com espaços até a coluna seguinte.If the column name is shorter than the column width, the output is padded with spaces up to the next column.

Essa linha será seguida por uma linha divisória formada por uma série de tracejados.This line will be followed by a separator line that is a series of dash characters. A saída a seguir mostra um exemplo.The following output shows an example.

Inicie o sqlcmd.Start sqlcmd. No prompt de comando do sqlcmd , digite o seguinte:At the sqlcmd command prompt, type the following:

USE AdventureWorks2012;

SELECT TOP (2) BusinessEntityID, FirstName, LastName

FROM Person.Person;

GO

Ao pressionar ENTER, o seguinte conjunto de resultados é reajustado.When you press ENTER, the following result set is retuned.

BusinessEntityID FirstName LastName

---------------- ------------ ----------

285 Syed Abbas

293 Catherine Abel

(2 row(s) affected)

Embora a coluna BusinessEntityID tenha apenas 4 caracteres de largura, ela foi expandida para acomodar o nome de coluna mais longo.Although the BusinessEntityID column is only 4 characters wide, it has been expanded to accommodate the longer column name. Por padrão, a saída é finalizada com 80 caracteres.By default, output is terminated at 80 characters. Isso pode ser alterado com a opção -w ou com a definição da variável de script SQLCMDCOLWIDTH.This can be changed by using the -w option, or by setting the SQLCMDCOLWIDTH scripting variable.

Formato de saída XMLXML Output Format

Saída XML é o resultado de uma cláusula FOR XML, não formatada, em um fluxo contínuo.XML output that is the result of a FOR XML clause is output, unformatted, in a continuous stream.

Quando você esperar uma saída XML, use o seguinte comando: :XML ON.When you expect XML output, use the following command: :XML ON.

Observação

Osqlcmd retorna mensagens de erro no formato habitual.sqlcmd returns error messages in the usual format. Observe que as mensagens de erro também são produzidas no fluxo de texto XML em formato XML.Notice that the error messages are also output in the XML text stream in XML format. Usando :XML ON, o sqlcmd não exibe mensagens informativas.By using :XML ON, sqlcmd does not display informational messages.

Para definir XML em modo off, use o seguinte comando: :XML OFF.To set the XML mode off, use the following command: :XML OFF.

O comando GO não deve ser exibido antes que o comando XML OFF seja emitido, pois o comando XML OFF muda o sqlcmd de volta para a saída orientada por linhas.The GO command should not appear before the XML OFF command is issued because the XML OFF command switches sqlcmd back to row-oriented output.

Dados XML (em fluxo) e dados de conjunto de linhas não podem ser misturados.XML (streamed) data and rowset data cannot be mixed. Se o comando XML ON não for emitido antes da execução de uma instrução Transact-SQL que gera fluxos XML, a saída será distorcida.If the XML ON command has not been issued before a Transact-SQL statement that outputs XML streams is executed, the output will be garbled. Se o comando XML ON for emitido, não será possível executar instruções Transact-SQL que gerem conjuntos de linhas regulares.If the XML ON command has been issued, you cannot execute Transact-SQL statements that output regular row sets.

Observação

O comando :XML não oferece suporte para a instrução SET STATISTICS XML.The :XML command does not support the SET STATISTICS XML statement.

Formato de saída JSONJSON Output Format

Quando você espera uma saída JSON, use o seguinte comando: :XML ON.When you expect JSON output, use the following command: :XML ON. Caso contrário, a saída incluirá o nome da coluna e o texto JSON.Otherwise the output includes both the column name and the JSON text. Essa saída não é JSON válido.This output is not valid JSON.

Para definir XML em modo off, use o seguinte comando: :XML OFF.To set the XML mode off, use the following command: :XML OFF.

Para saber mais, confira Formato de saída XML neste tópico.For more info, see XML Output Format in this topic.

Usando a Autenticação do Azure Active DirectoryUsing Azure Active Directory Authentication

Exemplos que usam a Autenticação do Azure Active Directory:Examples using Azure Active Directory Authentication:

sqlcmd -S Target_DB_or_DW.testsrv.database.windows.net  -G  -l 30
sqlcmd -S Target_DB_or_DW.testsrv.database.windows.net -U bob@contoso.com -P MyAADPassword -G -l 30

Práticas recomendadas sqlcmdsqlcmd Best Practices

Use as seguintes práticas para ajudar a maximizar a segurança e a eficiência.Use the following practices to help maximize security and efficiency.

  • Use segurança integrada.Use integrated security.

  • Use -X em ambientes automatizados.Use -X in automated environments.

  • Proteja arquivos de entrada e de saída usando permissões adequadas de sistema de arquivos NTFS.Secure input and output files by using appropriate NTFS file system permissions.

  • Para aumentar o desempenho, faça o máximo possível em uma sessão sqlcmd , em vez de usar uma série de sessões.To increase performance, do as much in one sqlcmd session as you can, instead of in a series of sessions.

  • Defina valores mais altos de tempo limite para execução em lote ou de consulta do que você imagina que levará para a execução em lote ou de consulta.Set time-out values for batch or query execution higher than you expect it will take to execute the batch or query.

Consulte TambémSee Also

Iniciar o utilitário sqlcmd Start the sqlcmd Utility
Executar arquivos de script Transact-SQL usando sqlcmd Run Transact-SQL Script Files Using sqlcmd
Usar o utilitário sqlcmd Use the sqlcmd Utility
Usar sqlcmd com variáveis de script Use sqlcmd with Scripting Variables
Conectar-se ao mecanismo de banco de dados com sqlcmd Connect to the Database Engine With sqlcmd
Editar scripts SQLCMD com o Editor de Consultas Edit SQLCMD Scripts with Query Editor
Gerenciar etapas de trabalho Manage Job Steps
Criar uma etapa de trabalho CmdExecCreate a CmdExec Job Step