Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Verificare se è in esecuzione un server SQL collegato

Hai provato a circondare la tua singola chiamata con i blocchi di eccezioni TRY-CATCH?

     BEGIN TRY
          --First Server Connection (Server1) 192.168.1.x
          --If the connection isn't available it will raise an exception
          exec sp_testlinkedserver  @servername = Server1
          --SQL statement here
     END TRY
     BEGIN CATCH
          SELECT ERROR_MESSAGE()
     END CATCH

     BEGIN TRY
          --Second Server Connection (Server2) 192.168.2.x
          --If the connection isn't available it will raise an exception
          exec sp_testlinkedserver  @servername = Server2
          --SQL statement here
     END TRY
     BEGIN CATCH
          SELECT ERROR_MESSAGE()
     END CATCH 

sp_testlinkedserver solleverà un'eccezione all'interno di un blocco try prima dell'esecuzione del codice ma non interromperà l'esecuzione della procedura memorizzata.