Sqlserver修改最大连接数后连接失败:
异常信息:`
SQL Server Management Studio登录数据库报错无法建立连接,因为在登录前连接初始化进程中发生错误。可能的原因包括: 客户端尝试连接的 SQL Server 的版本不受支持; 服务器过忙,无法接受新连接; 或者,服务器上存在资源限制(内存不足或已达到允许的连接最大数量)。 (provider: Shared Memory Provider, error: 0 - 管道的另一端上无任何进程。)
问题描述
项目中可能需要修改数据库的最大连接数来完成相关的测试,但发现不小心把最大连接数改成1之后,再重启本地的数据库服务,出现使用sa账户和windows账号认证都连接失败的现象。(如下图)


原因分析:
首先Sqlserver的最大并发连接数并不是指通过用户名和密码所连接的最大用户数量,
而是指无论是由应用程序发起的还是由用户直接发起的连接。
当你的本地数据库运行之后,你的相关管理工具已经持续连接数据库。所以导致当你不管使用什么用户进行连接时,始终无法正常连接。
不要轻易将最大并发连接数设置成1.即便是测试!!!!!!
解决方案:
方法1:使用sqlcmd登录数据库修改最大并发连接数
首先通过本地Windows验证登录你的sqlserver服
然后查看高级选项权限:show advanced options,如果默认值为1(打开)如下图,可以直接修改最大连接数。

如果默认值为0,就把高级选项设成1再修改。
打开高级选项后直接将最大连接数(user connections)属性设成你想要的值,然后重启sqlserver 服务就可以正常登录了。

sqlcmd -S localhost -E //(localhost或者直接写解析完的地址127.0.0.1也行)
//查询高级选项
reconfigure
go
sp_configure 'show advanced optinos'
go
//如果没打开,将高级选项设成1
sp_configure 'show advanced options',1
go
//将最大连接数设置成你想要的值,0代表无限大
sp_configure 'user connections',XXXX
go
方法2:使用单用户模式重启数据库服务器,再使用windows认证登录本地数据库修改最大连接数
-
在你的开始目录下找到sql server configuration Manager(sql server配置管理器)打开
-
找到你实行中的sqlserver服务,并且右键点击属性

-
在启动参数中将单用户模式-m追加进去

-
点击确定,并且重启sqlserver服务器
-
打开sql server management studio 使用windows认证连接数据库(如果有问题),在属性中将最大连接数更改

-
打开sqlserver配置管理器将单用户模式取消掉,再重启服务就可以正常访问了
如果上述第五步不好使,就在配置管理器中将这个账户改成内置账户,重启再改回来。然后再连接SSMS
2万+

被折叠的 条评论
为什么被折叠?



