SqlDependency / Query通知 - SQL Server重新启动

时间:2015-07-27 12:29:37

标签: c# sql-server sqldependency query-notifications

我在服务器上运行了一个具有SqlDependency /查询通知的应用程序 - 监视另一台服务器上的表的更改。

直到我们重新启动/重新启动SQL Server才能正常工作。由于某些维护和修补程序重新启动SQL Server时,另一个应用程序将引发以下错误并停止。我可以肯定地说它停止了,因为一旦SQL Server启动并运行它就不会监视更改。

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

  

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

     

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

我是SqlDependency /查询通知的新手,因此我不确定这是预期的行为还是我做错了。这是我的理解(来自其他帖子(SqlDependency Reliablity?)我没有重新开始重新订阅的工作。

感谢您的时间和答案

1 个答案:

答案 0 :(得分:0)

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

  

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

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

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

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