Usuário com melhor resposta
Identificar erro no SQL_cmd

Pergunta
-
Pessoal
Tenho que rodar o sqlcmd ou osql, conforme comando abaixo, só que o script contém diversos comandos, qual seria a melhor maneira de identificar o erro caso haja, ou que tudo foi executado com sucesso ?
Tentei utilizar o parametro -r, mais não consegui identificar qual seria a forma correta (0 ou 1)
sqlcmd -S servidor -U sa -P xxxx -d base_teste -i "e:\suporte\processo.sql" -o "e:\suporte\log\retorno.txt"
Respostas
-
Neibala,
Eu particularmente prefiro direcionar o erro para um arquivo, pois assim fica mais fácil de fazer qualquer análise e identificação de falhas, bem como, servirá como um histórico em determinando momento.
Detalhe você pode utilizar as opções -o e -r1 em conjunto sim, dependendo da implementação.
Veja este exemplo em que estou forçando um erro jogando tudo para um arquivo de retorno:
SQLCMD -E -Master -Q "Select * from Sys.SysDatabase" -o "C:\ArquivoRetorno.txt" -r1
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com
- Editado Junior Galvão - MVPMVP quarta-feira, 17 de setembro de 2014 14:29
- Sugerido como Resposta Durval RamosModerator quarta-feira, 17 de setembro de 2014 16:53
- Marcado como Resposta Ricardo Barbosa Cortes quarta-feira, 17 de setembro de 2014 17:29
Todas as Respostas
-
Neibala,
Se você for utilizar o "-r" você não pode utilizar o "-o", tem que escolher um dos dois.
Para mostrar todas as mensagens de erro, use 1.
Exemplo:
sqlcmd -S servidor -U sa -P xxxx -d base_teste -i "e:\suporte\processo.sql" -r1
Tulio Rosa | http://tuliorosa.com.br | Se resolveu seu problema, marque como resposta ou vote
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 17 de setembro de 2014 14:19
-
Neibala,
Eu particularmente prefiro direcionar o erro para um arquivo, pois assim fica mais fácil de fazer qualquer análise e identificação de falhas, bem como, servirá como um histórico em determinando momento.
Detalhe você pode utilizar as opções -o e -r1 em conjunto sim, dependendo da implementação.
Veja este exemplo em que estou forçando um erro jogando tudo para um arquivo de retorno:
SQLCMD -E -Master -Q "Select * from Sys.SysDatabase" -o "C:\ArquivoRetorno.txt" -r1
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com
- Editado Junior Galvão - MVPMVP quarta-feira, 17 de setembro de 2014 14:29
- Sugerido como Resposta Durval RamosModerator quarta-feira, 17 de setembro de 2014 16:53
- Marcado como Resposta Ricardo Barbosa Cortes quarta-feira, 17 de setembro de 2014 17:29
-
Neibala,
Se você for utilizar o "-r" você não pode utilizar o "-o", tem que escolher um dos dois.
Para mostrar todas as mensagens de erro, use 1.
Exemplo:
sqlcmd -S servidor -U sa -P xxxx -d base_teste -i "e:\suporte\processo.sql" -r1
Tulio Rosa | http://tuliorosa.com.br | Se resolveu seu problema, marque como resposta ou vote
Tulio,
Só um detalhe pode-se utilizar as opções -o e -r1 em conjunto sim, dependendo da forma que você esta fazendo a implementação do código.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com
- Editado Junior Galvão - MVPMVP quarta-feira, 17 de setembro de 2014 14:30
-
Neibala,
Se você for utilizar o "-r" você não pode utilizar o "-o", tem que escolher um dos dois.
Para mostrar todas as mensagens de erro, use 1.
Exemplo:
sqlcmd -S servidor -U sa -P xxxx -d base_teste -i "e:\suporte\processo.sql" -r1
Tulio Rosa | http://tuliorosa.com.br | Se resolveu seu problema, marque como resposta ou vote
Tulio,
Só um detalhe pode-se utilizar as opções -o e -r1 em conjunto sim, dependendo da forma que você esta fazendo a implementação do código.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com
Galvão,
Mas se você utilizar o "-o" e o "-r" junto, você só terá o resultado no arquivo, certo ?
Tulio Rosa | http://tuliorosa.com.br | Se resolveu seu problema, marque como resposta ou vote
-
Junior
Quero agradeço a sua dica, e aproveitar também para dizer em outros casos onde utilizo o parametro -i, utilizo dentro do script o parametro abaixo para direcionar o erro para um outro arquivo quando da erro.
:ERROR $(ds_Path_File_Error)