Precisa de script para encontrar o erro no script sqlcmd

1

Eu tenho o comando abaixo para fazer o backup do banco de dados sql no Windows e agora precisamos definir um código de manipulação de exceção para acionar um alerta de e-mail se houver algum erro

"sqlcmd -S $serverip -U $dbuser -P $dbpasswd -d $db -Q "BACKU DATABASE [$db] TO DISK='C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\$db.$date.bak'" -b  >> output_test.log"

Por favor me ajude nesse sentido.

    
por Ravikanth 18.11.2015 / 09:38

1 resposta

1

Ao especificar a opção -b , você deve obter um ERRORLEVEL retornado como 1, embora você queira especificar um valor para '-V' também.

Tudo o que você precisa fazer é consultar ERRORLEVEL e determinar se ele é maior que 0. Se houver erro,

Já faz muito tempo desde que eu fiz algo com o ERRORLEVEL, mas, como eu me lembro

errorlevel Number

Especifica uma condição verdadeira somente se o programa anterior executado pelo Cmd.exe retornasse um código de saída igual ou maior que Number.

Então você precisa verificar se é 1 (ou maior)

IF ERRORLEVEL 1 GOTO errorHandling
REMerrolevel == 0
:errorHandling
REM errorlevel is 1 or greater 
    
por 18.11.2015 / 10:03