Sto scrivendo una stored procedure che esegue query SELECT
su diversi server collegati utilizzando la notazione a 4 punti.Verificare se è in esecuzione un server SQL collegato
Il problema è che se uno dei server collegati non è in esecuzione, la query non riesce con l'errore 121 ('The semaphore timeout period has expired')
. Le altre query SELECT
non vengono quindi eseguite poiché questo errore interrompe il resto dell'esecuzione della query.
Volevo controllare @@ERROR
quindi continuare a eseguire le altre query.
Come posso continuare a eseguire la query se la connessione a uno dei server collegati non riesce?
Sto usando SQL 2012.
Benvenuti in server collegati, meglio noti come The High Unavailability Solution. Prova a progettare una soluzione senza un server collegato. –
@Tim hai provato a utilizzare [TRY CATCH] (http://msdn.microsoft.com/en-us/library/ms175976.aspx) –
dai uno sguardo a: http://stackoverflow.com/questions/4442772/ sql-server-catch-exception-and-continue. È questo il senso di ciò che stai cercando di fare? – RandomUs1r