查看sqlserver的端⼝号
背景
这⼏天想写⼀个使⽤java连接sqlserver的数据库连接测试程序。但是在查看数据库连接字符格式以后发现需要sqlserver数据库服务的端⼝号。在安装sqlserver的时候也没有提到端⼝号的问题,以前安装mysql的时候倒是见到过3306这个端⼝号,安装oracle的时候1521这个端⼝号也没有看到。不过oracle连接的时候都⽤的是1521,⽐如oracle的的数据库连接字符串格式为:jdbc:oracle:thin:@localhost:1521:SID。不知道安装两个oracle数据库是否还是1521这个端⼝号。
通过存储过程查看
闲话莫提,我们直接讲解如何查看端⼝号。需要提的是在我的机器上安装了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 ].
原⽂:wwwblogs/xwdreamer/archive/2012/06/23/2559344.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论