通过存储过程查看
安装了sqlserver2008和sqlserver2012两个版本的数据库。我们首先打开sqlserver management studio(简称SSMS)连接sqlserver2008的数据库实例,然后执行如下存储过程:
--查询端口号
exec sys.sp_readerrorlog 0, 1, 'listening'
查询出来的结果如下图所示:
从上图我们可以看出sqlserver2008的端口号是5419。
接下来关闭SSMS,再从重新打开,接着连接sqlserver2012。继续执行上述的存储过程,查询结果如下图所示:
上图说明sqlserver2012的端口号是5413。
通过Sql Server配置管理器(SSCM)
首先打开SSCM,如下图所示:
然后再sqlserver网络配置中开启TCP/IP协议,如下图所示:
在这里我们要将SQLEXPRESS和SQL2012两个协议中的TCP/IP协议都开启。
然后查看TCP/IP协议的属性,如下所示:
如上图所示,我们在IPALL中看到了"TCP动态端口"的值为5419,这就是我们sqlserver2008的端口号。我们打开sql2012的协议查看,发现IPALL属性如下:
sql2012的端口号是5413,这个跟我们用存储过程查出来的端口号一模一样。
通过sp_readerrorlog来查看sql server监听的协议以及端口(补充:2012-9-10)
在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协议的。