错误#1 22:26 2014-7-30 重置连接数
对实例->属性->连接->最大并发连接数不是特别理解,昨天下午心血来潮,把连接数改成1,不断开启新的查询窗口,并没有按预想的出错(当时没有重启数据库服务)。今天早上打开电脑,打开对象资源管理器,连接到服务器时报错。
查看ERRORLOG,错误信息很明显,超过最大并发连接数。
2014-07-30 09:35:37.12 登录 错误: 17809,严重性: 20,状态: 3。 2014-07-30 09:35:37.12 登录 Could not connect because the maximum number of ‘1‘ user connections has already been reached. The system administrator can use sp_configure to increase the maximum value. The connection has been closed. [客户端: 127.0.0.1]
第一反应,使用DAC连接,将user connections改大点。参照之前默认实例下先用单用户模式启动数据库,但是启动的时候就出错。
大致知道是因为命名实例导致单用户模式启动失败,但不知道如何修改代码。网上找了下资料,然后查看数据库实例对应服务的属性,在常规选项->可执行文件的路径:"D:\SQL2012\MSSQL11.SQL12\MSSQL\Binn\sqlservr.exe" -sSQL12
-s后面接的是实例名,因此参考这行代码将单用户模式启动cmd命令修改为:
d: cd D:\SQL2012\MSSQL11.SQL12\MSSQL\Binn sqlservr.exe -m -sSQL12
当然也可以直接在服务属性的启动参数中添加-m
从日志信息中找到对应的专用端口,DAC连接,查看当前最大并发数,确实为1,通过user connections重置最大并发数
问题1,日志信息并没说要DAC连接去设置,只是说system administrator可以操作,但是在为1的情况下,显然无法通过GUI去操作,但应该可以直接通过sqlcmd或新建查询中修改。
问题2,GUI下设置的最大并发数,实际体现在sysconfigures.config=103对应的value,需重启数据库服务才生效,这个最大限制了sysprocesses.spid>50的记录数