突然叫我过来研究一下别人写的游戏后台,还是Structs的,表示一点都不懂!有点莫名其妙的感觉。装好MyEclipse、SQL Server,将源代码和数据拷进去后运行,连接不上数据库。第一个反应是用户名密码不正确,去XML配置文件中修改了用户名密码,然后还是连接失败“Connection Refused!”,然后才想到是不是端口也不对?本来SQL Server默认监听端口是 1433 ,但是也有可能该端口已经被占用,然后重新分配了一个端口。不过怎么看SQL Server监听的端口号呢?方法如下:
一、通过存储过程查看
首先打开sqlserver management studio(简称SSMS)连接sqlserver2005的数据库实例,然后执行如下存储过程:
--查询端口号 exec sys.sp_readerrorlog 0, 1, 'listening'
查询出来的结果如下图所示:
从上图我们可以看出sqlserver2005的端口号是5419。
二、通过Sql Server配置管理器(SSCM)
首先打开SSCM,如下图所示:
然后再sqlserver网络配置中开启TCP/IP协议,如下图所示:
在这里我们要将SQLEXPRESS和SQL2012两个协议中的TCP/IP协议都开启。
然后查看TCP/IP协议的属性,如下所示:
如上图所示,我们在IPALL中看到了“TCP动态端口”的值为5419,这就是我们sqlserver2005的端口号。
三、通过sp_readerrorlog来查看sql server监听的协议以及端口
在SSMS中输入sp_readerrorlog命令来查看sql server信息,回到到如下类似的监听信息:
--tcp协议 Server is listening on [ 'any' <ipv6> 1500]. Server is listening on [ 'any' <ipv4> 1500]. Server is listening on [ 'any' <ipv6> 1433]. Server is listening on [ 'any' <ipv4> 1433]. Server is listening on [ ::1 <ipv6> 1434]. Server is listening on [ 127.0.0.1 <ipv4> 1434]. --named pipe协议无法关闭,即使关闭以后也会有local connection provider Server local connection provider is ready to accept connection on [ \\.\pipe\sql\query ]. --share memory Server local connection provider is ready to accept connection on [ \\.\pipe\SQLLocal\MSSQLSERVER ].
这是在关闭named pipe的情况下,如果开启named pipe的话,那么会是如下类型:
--开启named pipe Server named pipe provider is ready to accept connection on [ \\.\pipe\sql\query ].
在sql server是无法关闭本地named pipe协议的。