【问题标题】:a network related or instance-specific error 26网络相关或特定于实例的错误 26
【发布时间】:2015-01-17 06:08:17
【问题描述】:

当我的客户端应用程序想要连接到数据库时,随机出现以下错误

解决方案是在服务器中重新启动 sqlbrowser,一切正常,但随机它会一次又一次地发生。 注意:实例名称,服务器名称或IP,远程连接接受,防火墙都正确并检查了很多,只需重新启动sqlbrowser就可以了。

以下是我的连接字符串。

我跟踪了 sql 日志,但对我来说不是很清楚,因为我是 sql 的初学者,请帮助我,因为这个随机错误我生病了!!!!!!

【问题讨论】:

  • 在事件查看器中检查应用程序错误日志、系统错误日志。检查数据库日志。尝试创建不同于默认 SQL 端口的端口并尝试连接您的数据库。
  • 我把我的 db sql 登录到上面的图片中!你能检查一下,如果有任何问题,请告诉我?! @PareshJ
  • 您可以通过在连接字符串中指定实际端口号而不是实例名称来避免对 SQL Browser 服务的依赖(即 Data Source=Server02,56761)。在您找到 SQL Browser 服务问题的根本原因之前,这只是一个临时解决方案。
  • 我会检查并报告结果亲爱的@DanGuzman
  • @DanGuzman 你的解决方案对我不起作用!!!!

标签: sql-server visual-studio-2010 c#-4.0 connection-string


【解决方案1】:

看起来间歇性连接问题是由于 SQL Express 实例在空闲后重新唤醒时的延迟,因为存在强相关性。这种延迟通常不会严重到导致连接超时,但除了 SQL Server 之外,可能还有其他进程在同一服务器上运行,争夺有限的内存资源,从而延长 SQL Express 恢复正常操作所需的时间。但是,我不希望重新启动 SQL Browser 服务来解决您报告的问题,尤其是在连接字符串中指定端口号而不是实例名称的情况下。

为防止 SQL Express 空闲,请定期连接到实例。执行此操作的一种方法是使用重复的 Windows 任务计划程序作业,该作业运行以下 Powershell 命令:

powershell -Command "$c = new-object System.Data.SqlClient.SqlConnection(\"Data Source=server01,56761;Initial Catalog=OxygenDB;User Id=youruser;Password=yourpassword\"); $c.Open(); $c.Close();"

此外,您可以通过使用以下 T-SQL 命令关闭数据库自动关闭选项来提高响应能力:

ALTER DATABASE OxygenDB SET AUTO_CLOSE OFF;

【讨论】:

  • 其实我之前做过AUTO CLOSE OFF,但问题依旧存在
  • @franchescototti,我并不是要暗示 AUTO_CLOSE 是您的问题的原因,只是它可能会缩短响应时间。您需要执行一些常规活动以防止实例空闲。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多