Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Vérifier si un serveur SQL lié est en cours d'exécution

Avez-vous essayé d'entourer votre appel unique de blocs d'exception 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 lèvera une exception dans un bloc try avant l'exécution de votre code mais cela n'arrêtera pas l'exécution de la procédure stockée.