Inquiridor
Teste de conectividade de um linked server.

Pergunta
-
Caros amigos,
Estou desenvolvendo uma procedure onde antes de executar um select em um linked server, preciso verificar se o mesmo está on-line, ou seja, preciso testar sua conectividade a fim de tratar uma possível exceção caso o mesmo esteja off-line.
Vcs têm algum exemplo ?
quinta-feira, 17 de janeiro de 2008 20:00
Todas as Respostas
-
Olá Anselmo!!
Esse tipo de teste no SQL 2000 é um pouco complicado.
Se fosse no SQL 2005, poderia utilizar tranquilamente o TRY...CATCH...
Já no SQL 2000 só na base do Workaround...
Teste este código e depois retorne:
Code BlockSET
XACT_ABORT OFF -- Evita abortSELECT
1 FROM Servidor.NomeDaDatabase.dbo.AlgumaTabela WHERE IdDaTabela = 1IF
@@ERROR <> 0 -- É pq aconteceu erroSET
XACT_ABORT ONAbraço!!!
quinta-feira, 17 de janeiro de 2008 20:27 -
no sql 2005 temos a sp_testlinkedserver.
agora no sql 2000 fica mais complicado, a ideia do alexandre e boa, outra ideia e testar se o servico do sql esta no ar via vb script. mais acho mais simples a ideia do Alexandre.
Abs;
sexta-feira, 18 de janeiro de 2008 09:51 -
Marcelo,
Concordo plenamente.
sexta-feira, 18 de janeiro de 2008 11:52Moderador -
Não funcionou... ele retorna erro dizendo que não foi possivel encontrar o linked server.
sexta-feira, 18 de janeiro de 2008 16:18 -
O Linked Server foi criado?? Para fazer um teste verdadeiro, teria que criar um linked server e testar com ele.
Abraço
sexta-feira, 18 de janeiro de 2008 16:56 -
Realmente, acontece pelo nível de gravidade do erro gerado. Se fosse até o nível 10, funcionaria. Como deve estar gerando com nível 14 ou 16, ele está abortando, mesmo executando aquela instrução "SET" que passei.
Então, creio ser melhor fazer um teste para o retorno dado a aplicação, se der erro na hora de executar, e o erro for de algum código específico, então executa alguma tarefa que você quiser.
Abraço!!
sexta-feira, 18 de janeiro de 2008 17:13 -
Anselmo,
Mas você possui um linked server criado neste servidor?
sexta-feira, 18 de janeiro de 2008 17:17Moderador -
Alexandre,
Desculpe-me mas não estou conseguindo entender em qual ponto esta sendo especificado este nível de gravidade!!!
sexta-feira, 18 de janeiro de 2008 17:19Moderador -
O nível de gravidade não é especificado por nós, ele já vem definido no próprio erro interno do SQL.
Fiz alguns testes tentando mudar o nível de gravidade, mas não tive sucesso.
sexta-feira, 18 de janeiro de 2008 18:09 -
Marcelo,
Como eu poderia fazer esse teste ? Vc tem algum exemplo ?
quinta-feira, 7 de fevereiro de 2008 11:50