作者:admin人气:0来源:网吧系统下载站2015-04-16 10:40:43
今天sqlserver服务器出现了一点小问题,游戏服务器连接sqlserver没有问题,但是网站连sqlserver服务器断断续续的。后来在sqlserver服务器上netstat -ano看了一下发现几个未知IP不断在在尝试连接1433端口。经过分析,总结出原因。游戏服务器连接sqlserver服务属于长连接,连上去以后除非关闭游戏服务器才会断开连接,而网站连接sqlserver属于短连接,网页资源加载完毕以后就关闭连接了,当再次连接时候由于那几个未知IP的不断尝试占用了1433端口的连接(后来会讲到,sqlserver连接数量是有限制的),所以导致连接超时,呈现断断续续状态。果然,当我开一个新游戏服务器时候也出现了超时现象。
后面,我设置了一下sqlserver那天服务器的防火墙(这台服务器是windows server 2008 R2企业版),只将几个游戏服务器的IP和网站服务器的IP允许连接sqlserver服务器!设置方法就是设置入站规则允许sqlserver程序,并且指定远程IP地址(即可以连接sqlserver服务的IP地址)
%ProgramFiles%/Microsoft SQL Server/MSSQL.1/MSSQL/Binn/sqlservr.exe
后面又查资料发现sqlserver有最大连接数限制,在右键->“属性”->“连接”里面设置为0并不正在是无连接限制。
下面的T-SQL 语句可以配置SQL Server 允许的并发用户连接的最大数目。
exec sp_configure 'show advanced options', 1
exec sp_configure 'user connections', 100
第一句用以表示显示sp_configure 系统存储过程高级选项,使用user connections 时,要求show advanced options 值为1。
第二句配置最大连接数为100,0 表示不限制,但不表示无限,后面将谈谈。
也可以在企业管理器中配置,在企业管理器中,可以在实例上点右键->“属性”->“连接”里面更改。
需要重新启动SQL Server,该值才会生效。
select @@max_connections
它总是返回32767,它并不是指上面设置的user connections,实际上它表示user connections 最大可设置为多少。由于它的最大值是32767,那么user connections 为0 时,最大连接数也就是32767
了,并不是无限。
默认情况下user connections 值是0,也就是说默认情况下SQL Server 的最大连接数是32767。
获得当前设置的最大连接数:
select value from master.dbo.sysconfigures where [config]=103
继续阅读:sqlserver
2015-12-23SQLserver高版本导入低版本小工具 v1.0 绿色版
2015-03-05Windows Sqlserver启动报错1069由于登陆失败而无法启动服务
2013-08-21win7下安装sqlserver2008视频教程
2013-03-07安装SQLServer2005提示SQL Server服务无法启动解决方法