【发布时间】:2015-10-17 15:24:18
【问题描述】:
我有一个在服务器上运行的应用程序,它有一个SqlDependency / 查询通知 - 监控不同服务器上表的更改。
在我们重新启动/重新启动 SQL Server 之前它工作正常。当 SQL Server 由于一些维护和补丁重新启动时,其他应用程序会抛出以下错误并停止。我可以肯定地说它会停止,因为一旦 SQL Server 启动并运行,它就不会监视更改。
我必须重新启动应用程序才能重新订阅查询通知。我不会在代码中抛出任何会停止应用程序的异常。我发现异常并发送电子邮件。
System.Data.SqlClient.SqlException (0x80131904):向服务器发送请求时发生传输级错误。 (提供者:TCP Provider,错误:0 - 现有连接被远程主机强行关闭。)--->
System.Data.SqlClient.SqlException (0x80131904):建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。
我是SqlDependency/查询通知的新手,所以我不确定这是预期行为还是我做错了什么。这是我的理解(来自其他帖子 (SqlDependency Reliablity?),我不必重新开始工作即可重新订阅。
感谢您的时间和答案
【问题讨论】:
-
这是预期的。如果 SQL 连接因 SQL Server 重新启动而中断,应用程序将需要再次订阅。
标签: c# sql-server sqldependency query-notifications