C# SqlDependency/查询通知-SQL Server重新启动

C# SqlDependency/查询通知-SQL Server重新启动,c#,sql-server,sqldependency,query-notifications,C#,Sql Server,Sqldependency,Query Notifications,我有一个在服务器上运行的应用程序,它有一个SqlDependency/query通知-监视不同服务器上的表上的更改 在重新启动/重新启动SQL Server之前,它工作正常。当SQL Server由于某些维护和修补程序而重新启动时,另一个应用程序会抛出以下错误并停止。我可以肯定地说它停止了,因为一旦SQL Server启动并运行,它就不会监视更改 我必须重新启动应用程序才能重新订阅查询通知。我不会在代码中抛出任何会停止应用程序的异常。我正在捕获异常并发送电子邮件 System.Data.SqlC

我有一个在服务器上运行的应用程序,它有一个
SqlDependency
/query通知-监视不同服务器上的表上的更改

在重新启动/重新启动SQL Server之前,它工作正常。当SQL Server由于某些维护和修补程序而重新启动时,另一个应用程序会抛出以下错误并停止。我可以肯定地说它停止了,因为一旦SQL Server启动并运行,它就不会监视更改

我必须重新启动应用程序才能重新订阅查询通知。我不会在代码中抛出任何会停止应用程序的异常。我正在捕获异常并发送电子邮件

System.Data.SqlClient.SqlException(0x80131904):向服务器发送请求时发生传输级别错误。(提供程序:TCP提供程序,错误:0-远程主机已强制关闭现有连接。)-->

System.Data.SqlClient.SqlException(0x80131904):建立到SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接

我不熟悉
SqlDependency
/查询通知,所以我不确定这是一种预期行为还是我做错了什么。我(从其他帖子()中)了解到,我不必重新启动作业来重新订阅


感谢您的时间和回答

这是正常的,因为当您重新启动sql server时,服务已停止,任何连接到sql server的应用程序都将抛出此错误:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误

若要避免此问题,您可以为每个应用程序使用不同的实例。您可以安装具有不同名称的新服务器实例以避免此问题。当您重新启动单个sql server实例时,其他sql server实例仍将保持联机状态

您可以按照以下步骤安装或创建新的sql server实例:


这是意料之中的。如果SQL Server重新启动导致SQL连接中断,则应用程序需要重新订阅。