2015-07-27 10 views
5

Ho un'applicazione in esecuzione su un server che ha una notifica SqlDependency/query - monitoraggio delle modifiche su una tabella su un server diverso.SqlDependency/Query notification - Riavvio di SQL Server

Funziona bene fino al riavvio/riavvio di SQL Server. Quando si riavvia SQL Server a causa di alcune manutenzioni e patch, l'altra applicazione genera i seguenti errori e arresti. Posso sicuramente dire che si ferma perché non monitora le modifiche una volta che SQL Server è attivo e funzionante.

Devo riavviare l'applicazione per iscriversi nuovamente alla notifica della query. Non sto lanciando alcuna eccezione all'interno del codice che fermerebbe l'applicazione. Sto rilevando l'eccezione e inviando una email.

System.Data.SqlClient.SqlException (0x80131904): A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) --->

System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.

Sono nuovo di SqlDependency notifiche/query in modo non sono sicuro se questo è un comportamento previsto o qualcosa che sto facendo male. E 'la mia comprensione (da altri posti (SqlDependency Reliablity?) che non è necessario riavviare il lavoro a sottoscrivere nuovamente.

Apprezzo il vostro tempo e risposte

+1

questo è previsto. Se la connessione SQL viene interrotta a causa di un riavvio di SQL Server, l'applicazione dovrà iscriversi nuovamente. –

+0

Grazie per la risposta. – itsfighter

risposta

0

Questo è normale, perché quando si riavvia il server SQL, il servizio era fermato e qualsiasi applicazione che è connesso al server sql sarà gettato questo errore:

A network-related or instance-specific error occurred while establishing a connection to SQL Server.

per evitare questo problema, è possibile utilizzare una diversa istanza per ogni applicazione È possibile installare nuove istanze di server con nomi diversi per evitare questo. problema. Che quando si riavvia una singola istanza del server SQL, l'altro server SQL l'istanza rimarrà comunque online.

È possibile seguire questa procedura per installare o creare una nuova istanza di SQL Server:

https://4sysops.com/archives/how-to-create-a-new-sql-server-2012-instance/