当前位置:  开发笔记 > 编程语言 > 正文

如何查找MS SQL Server 2008的端口?

如何解决《如何查找MSSQLServer2008的端口?》经验,为你挑选了10个好方法。

我在本地计算机上运行MS SQL Server 2008.我知道默认端口是1433,但是有些人没有在这个端口上监听.SQL是Express版本.

我已经尝试过日志,SQL Server Management Studio,注册表和扩展存储过程来查找端口.但是,我找不到它.请帮我.谢谢.



1> p udaykiran..:

单击StartWindows中的按钮.去All Programs -> Microsoft SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager

单击SQL Native Client 10.0 Configuration -> Client Protocols -> TCP/IP 双击(右键单击选择Properties)TCP/IP

你会发现Default Port 1433.

根据连接,端口号可能会有所不同.



2> rslite..:

你也可以看一下

netstat -abn

它为端口提供相应的应用程序,使其保持打开状态.

编辑:或TCPView.


它应该是sqlservr.exe(我没有一个可以检查).

3> brothers28..:

这里有5个我发现的方法:

方法1:SQL Server配置管理器

方法2:Windows事件查看器

方法3:SQL Server错误日志

方法4:sys.dm_exec_connections DMV

方法5:使用xp_instance_regread读取注册表

方法4:sys.dm_exec_connections DMV
我认为这几乎是最简单的方法...
DMV返回可用于监视SQL Server实例的服务器状态.我们可以使用sys.dm_exec_connections DMV来识别SQL Server Instance正在侦听的端口号,使用下面的T-SQL代码:

SELECT local_tcp_port
FROM   sys.dm_exec_connections
WHERE  session_id = @@SPID
GO

Result Set:
local_tcp_port
61499

(1 row(s) affected)

方法1:SQL Server配置管理器

步骤1.单击开始>所有程序> Microsoft SQL Server 2012>配置工具> SQL Server配置管理器

步骤2.转到SQL Server配置管理器> SQL Server网络配置>协议

步骤3.右键单击TCP/IP并选择"属性"

在此输入图像描述

步骤4.在"TCP/IP属性"对话框中,转到"IP地址"选项卡,然后向下滚动到"IPAll"组.

在此输入图像描述

如果SQL Server配置为在静态端口上运行,则它将在TCP端口文本框中可用,如果在动态端口上配置,则当前端口将在TCP动态端口文本框中可用.这里我的实例正在侦听端口号61499.

您可以在此处找到其他方法:http://sqlandme.com/2013/05/01/sql-server-finding-tcp-port-number-sql-instance-is-listening-on/



4> Learner..:

我遇到这个是因为我在创建远程连接时遇到了问题,并且无法理解为什么在防火墙中设置1433端口不能正常工作.我现在终于完整了,所以我想我应该分享.

首先,必须使用SQLEXPRESS协议下的SQL Server配置管理器启用"TCP/IP"!

使用命名实例时(在本例中为"SQLExpress"),这将侦听动态端口.要找到这个动态端口,您有几个选择; 仅举几例:

检查ERRORLOG位于的SQL Server '{MS SQL Server Path}\{MS SQL Server instance name}\MSSQL\Log'(在里面你会找到一条与此相似的行:"2013-07-25 10:30:36.83 Server Server is listening on [ 'any' 51118]"- >所以51118是这种情况下的动态端口.

检查注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{MSSQL instance name}\MSSQLServer\SuperSocketNetLib\Tcp\IPAll,对我的情况TcpDynamicPorts=51118.

编辑:{MSSQL instance name}类似于:MSSQL10_50.SQLEXPRESS不仅如此SQLEXPRESS

当然,在防火墙中允许此TCP端口并通过传入来创建远程连接:( "x.x.x.x,51118"其中xxxx是服务器ip)此时已经解决了这个问题.

但后来我想通过传入实例名称远程连接(例如:) x.x.x.x\SQLExpress.这是SQL Browser服务发挥作用的时候.这是将实例名称解析为51118端口的单元.SQL Browser服务侦听UDP端口1434(标准和静态),因此我必须在服务器的防火墙中允许这样做.

为了扩展一点实际的答案:如果其他人不喜欢动态端口并且想要一个静态端口用于他的SQL Server实例,那么应该尝试这个链接.



5> mrdenny..:

在ERROLOG日志中,如下所示.如果您没有看到SQL Server未启用远程访问,或者它不是通过TCP.您可以通过SQL Server配置管理器更改此设置.

Server is listening on [ 192.128.3.2  1433].



6> 小智..:

我通过使用SQLEXPRESS2008协议下的SQL Server配置管理器启用TCP/IP解决了这个问题,我重新启动了服务,现在"服务器正在侦听"显示在ERRORLOG文件中



7> Tilo..:

试试这个(需要访问sys.dm_exec_connections):

SELECT DISTINCT 
    local_tcp_port 
FROM sys.dm_exec_connections 
WHERE local_tcp_port IS NOT NULL


仅供参考:如果SQL服务器没有打开连接,它可能不会显示任何内容.

8> 小智..:
USE master
GO
xp_readerrorlog 0, 1, N'Server is listening on', 'any', NULL, NULL, N'asc' 
GO

[通过读取SQL Server错误日志识别SQL Server数据库引擎的命名实例使用的端口]



9> 小智..:

您可以使用以下两个命令:tasklistnetstat -oan

Tasklist.exe就像taskmgr.exe文字模式一样.

tasklist.exe或者taskmgr.exe你可以得到一个PIDsqlservr.exe

使用netstat -oan,它显示连接PID,您可以过滤它.

例:

C:\>tasklist | find /i "sqlservr.exe"
sqlservr.exe  1184 Services    0 3.181.800 KB

C:\>netstat -oan | find /i "1184"
TCP  0.0.0.0:1280  0.0.0.0:0  LISTENING  1184

在此示例中,SQLServer端口为1280

摘自:http://www.sysadmit.com/2016/03/mssql-ver-puerto-de-una-instancia.html



10> 小智..:

我在SSMS中使用以下脚本

SELECT
     s.host_name
    ,c.local_net_address
    ,c.local_tcp_port
    ,s.login_name
    ,s.program_name
    ,c.session_id
    ,c.connect_time
    ,c.net_transport
    ,c.protocol_type
    ,c.encrypt_option
    ,c.client_net_address
    ,c.client_tcp_port
    ,s.client_interface_name
    ,s.host_process_id
    ,c.num_reads as num_reads_connection
    ,c.num_writes as num_writes_connection
    ,s.cpu_time
    ,s.reads as num_reads_sessions
    ,s.logical_reads as num_logical_reads_sessions
    ,s.writes as num_writes_sessions
    ,c.most_recent_sql_handle
FROM sys.dm_exec_connections AS c
INNER JOIN sys.dm_exec_sessions AS s
    ON c.session_id = s.session_id

--filter port number
--WHERE c.local_tcp_port <> 1433

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有