SQL Server 2008 R2 - 用户连接

SQL Server 2008 R2 - User Connections

我的机器上安装了 SQL Server 2008 R2 实例。在执行任何需要连接的操作时,我可以连接到服务器,但在登录期间出现错误。

错误信息

Title: Microsoft SQL Server Management Studio
..............................
Failed to connect to server ASUS. (Microsoft.SqlServer.ConnectionInfo)
..............................
ADDITIONAL INFORMATION:
A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.) (Microsoft SQL Server, Error: 233)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=233&LinkId=20476

我按照找到的建议 here 发现了这个错误的原因。这不是公认的答案,而是关于错误日志的答案。

错误日志

2015-01-17 13:05:31.06 Logon Error: 17809, Severity: 20, State: 3.
2015-01-17 13:05:31.06 Logon Could not connect because the maximum number of '2' user connections has already been reached. The system administrator can use sp_configure to increase the maximum value. The connection has been closed. [CLIENT: <local machine>]

显示最大用户连接数设置为 2。给出的解决方案是执行 sp_configure 来更改该值。对我来说不幸的是,如果您是系统的管理员和唯一用户,它没有解释如何实现这一点。

我试图找到一篇解释此过程的文章,但没有假设您可以访问服务器(尽管有错误),但未能找到。由于 none 个连接属于 admin/me,我无法执行此操作。我需要弄清楚如何释放现有连接。

由于不知道这些连接被消耗的确切位置,我决定尝试停止一些 SQL 服务。我从停止 SSRS 开始,因为我不确定其他人是否会进一步影响连接。这次我能够连接到服务器。接下来,我转到服务器属性。此时我再次遇到同样的错误,但这并没有阻止我编辑属性。我将最大并发连接数设置为适当的值,重新启动服务,然后继续工作。

总结

  1. 停止 SQL 服务的子集
  2. 在 SSMS 中连接到服务器
  3. 更新最大并发连接数
  4. 重启SQL服务器
  5. 如果需要,重新启动在步骤 1 中停止的任何服务。