查看SQL数据库服务器地址最直接的方法是:登录SQL Server Management Studio(SSMS)后在对象资源管理器中右键点击服务器名,选择“属性”,弹出的窗口“常规”页面里“名称”和“连接”字段显示的即是服务器地址。如果连接的是远程数据库,这个地址通常是IP和端口号的组合;如果是本机实例,则显示为本机计算机名或“localhost”。
根据实际工作经验,很多人混淆了“服务器名称”和“服务器地址”,在SQL Server的日常操作里,这两者经常指同一个东西,服务器名称是实例的标识符,而地址是网络定位符,下文针对不同场景拆解查看方法,覆盖图形界面、命令行、配置文件三大路径。
在SQL Server Management Studio中查看服务器地址
SSMS是Windows环境下管理SQL Server最常用的工具,查看地址的操作路径分为连接前和连接后两种。
连接前从登录窗口辨别
打开SSMS,弹出的“连接到服务器”对话框本身就是信息窗口,在“服务器名称”下拉框里,如果之前保存过连接记录,直接下拉就能看到历史连接的服务器列表;如果是新建连接,下拉框右侧的“下拉箭头”旁边有个“浏览更多”按钮,点击后可以扫描局域网内的SQL Server实例,扫描结果里显示的服务器名称就是当前可用的地址。
连接后从属性面板和查询窗口获取
已连接数据库的情况下,查看地址更简单,有二个常用入口。
- 对象资源管理器属性法:在对象资源管理器顶部,右键点击服务器节点(通常显示为“服务器名实例名”),选择“属性”,左侧选择“常规”,右侧页面第一栏“名称”显示的就是完整服务器地址信息,如果这是默认实例,这里就只有计算机名;如果是命名实例,格式类似“计算机名实例名”,但这里看不到端口号。
- T-SQL查询法:点击工具栏“新建查询”,执行以下代码,三个命令分别返回不同维度的地址信息:
SELECT @@SERVERNAME; -- 返回服务器实例名称
SELECT SERVERPROPERTY('ComputerNamePhysicalNetBIOS'); -- 返回物理计算机名
SELECT local_net_address, local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID; -- 返回当前连接的IP和端口
第三条语句执行后,结果集会显示两列,local_net_address是当前SSMS客户端连到的服务器IP地址,local_tcp_port是SQL Server监听的TCP端口(默认是1433),这个方法的优势是能直接看到IP和端口,比属性面板更精确,需要说明的是,如果服务器配置了多个IP,这行只显示当前会话实际使用的那个。
查看MySQL及MariaDB数据库的服务器地址
MySQL生态的工具链和SQL Server不同,查看地址的路径也各有差异,这里按命令行和图形工具两种主流方式分别说明。
命令行方式
使用MySQL自带的命令行客户端(mysql.exe)连接数据库后,执行以下任一条SQL语句都能查到服务器地址:
SHOW VARIABLES LIKE 'hostname'; -- 显示服务器的主机名 SHOW VARIABLES LIKE 'port'; -- 显示服务器监听端口 SELECT @@hostname; -- 效果同第一条 SELECT SUBSTRING_INDEX(USER(), '@', -1); -- 显示当前连接的来源地址
需要明确一点,hostname变量在MySQL里返回的是操作系统的主机名,不是IP地址,如果一台服务器绑定了多个网卡或多个IP,这个命令无法显示实际对外服务的IP,要看到真正的IP,需结合操作系统的网络命令,Linux执行hostname -I,Windows执行ipconfig。
图形工具方式
行业里使用Navicat、DBeaver、Workbench这些图形客户端的人相当多,这类工具在保存连接配置时已经记录了服务器地址。
以Navicat为例,连接管理器的连接名下面有一行小字“主机:xxx.xxx.xxx.xxx,端口:3306”,这就是目标地址,如果当初建连接时填的是主机名而非IP,这里会显示域名或主机名,解决方法是对本机执行ping 主机名命令,返回的IP即是实际地址。
从应用程序配置文件反查数据库服务器地址
实际操作中,用户手中往往不掌握服务器的管理权限,或者数据库已经运行多年,无人记得部署细节,从现有应用的配置文件中反查地址是最实用的路径。
Web应用配置文件常见位置
各种编程语言的Web项目,数据库连接信息几乎都写在配置文件中,根据运行环境不同,文件位置和格式有差异:
- .NET环境(C#/ASP.NET):
Web.config或App.config,查找<connectionStrings>节点下的Data Source或Server字段。 - Java环境(Spring Boot/SSM):
application.yml或application.properties,查找url: jdbc:mysql://后的IP和端口。 - PHP环境(Laravel/ThinkPHP):
.env文件,查找DB_HOST=和DB_PORT=。 - Python环境(Django/Flask):
settings.py或.env,查找HOST和PORT配置项。
配置文件地址格式解读
后,需要具备解读能力,以Java项目常见的JDBC连接串为例:
jdbc:mysql://192.168.1.100:3306/userdb?useSSL=false
168.1.100即是数据库服务器IP地址;3306是MySQL默认监听端口;userdb是数据库名,不是地址。
在.NET的Data Source字段里,可能看到两种写法:Data Source=192.168.1.100表示标准TCP/IP连接;Data Source=.SQLEXPRESS表示本机命名实例,服务器就是当前这台机器。
数据库服务器地址与实例名的区分逻辑
不少新手在查询地址时栽过跟头,根源在于混淆了服务器地址、实例名、数据库名三个概念,行业共识认为,正确区分这组概念能避免百分之八十以上的连接困惑。
默认实例与命名实例的差异
SQL Server安装时,如果只装了一个实例,那个叫默认实例,访问时用IP或计算机名即可,装多套实例时,后续实例都是命名实例,访问格式强制为“服务器地址实例名”,比如服务器IP是192.168.1.10,上面同时跑了默认实例和名为TEST的实例,那么地址应写为:
| 实例类型 | 访问地址写法 | 默认端口 |
|---|---|---|
| 默认实例 | 168.1.10 | 1433 |
| 命名实例 | 168.1.10TEST | 动态端口 |
命名实例默认使用动态端口,如果服务器启用了防火墙,这是导致远程连不上的最常见原因。
端口号在地址中的作用
企业生产环境出于安全考虑,相当一部分不会使用默认端口,修改过监听端口的实例,地址写法变为“IP,端口号”,中间是英文逗号,例如MySQL端口改为3307后,连接字符串必须写168.1.10:3307(MySQL用冒号),SQL Server则写168.1.10,3307(用逗号),这个细节非常容易踩坑,在查看地址时务必同时确认端口信息。
服务器操作系统中确认数据库监听地址
如果拥有服务器的SSH或远程桌面权限,可以直接从系统层面查证数据库服务监听的网络信息,这种方式得到的结果最准确,不会受客户端工具缓存影响。
端口监听与进程归属
Windows和Linux分别有不同的查询命令,在Windows的命令提示符(cmd)里执行:
netstat -ano | findstr "1433"
返回结果中第一列是监听IP,最后一列是进程PID,这里如果显示0.0.0:1433,表示数据库监听所有网卡,所有IP都能访问;如果显示0.0.1:1433,说明只允许本机连接,外部无法访问,Linux系统执行netstat -tlnp | grep mysql或ss -tlnp | grep 3306,结果含义相同。
企业内外网地址的差异
需要特别留意的是,数据库服务器可能配置了多个IP,包括内网IP、外网IP、虚拟IP,内网环境下,服务器地址通常是168.x.x或x.x.x开头的私有地址;云服务器则可能显示16.x.x(简米云经典网络)或公网弹性IP,如果查询结果相当一部分显示内网地址,说明数据库并没有直接暴露在公网,需要登录跳板机或堡垒机才能访问。
查看云数据库(如简米云RDS、酷番云CDB)的地址不用去服务器内部查询,直接在云控制台实例详情页的基本信息区域,能看到“内网地址”和“外网地址”两个字段,这是云数据库独有的查看方式。
关于查看SQL数据库服务器地址的常见问答
围绕这个主题,回应几个高频疑问,供实践参考。
问:在SSMS客户端上看到的服务器名称和服务器实际IP不一致,哪个才是对的?
答:两者通常指向同一目标,服务器名称是数据库实例的标识,IP是网络定位,如果名称解析正常,直接使用名称连接没问题;如果局域网内有DNS解析故障,使用IP地址连接更可靠,建议在连接属性页的“连接”分组里查看“网络地址”字段,那里显示的内容通常是“IP,端口”的完整格式。
问:如何查看SQL Server的服务器地址和端口号?
答:在SSMS中执行代码SELECT local_net_address, local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID,运行后在结果窗口能看到一行记录,第一列是当前客户端的实际连接IP,第二列是SQL Server实例监听的TCP端口,这是图形界面里查看端口的最便捷方式。
问:远程连接数据库时,服务器地址该填公网IP还是内网IP?
答:取决于客户端和数据库服务器是否在同一个局域网内,客户端与服务器在同一内网时填写内网IP,跨网络访问时填写公网IP或云数据库的外网地址,判断方法不复杂,在客户端电脑上执行ping 服务器主机名,能通就说明在同一网络或路由可达,直接用当时能通的地址连接即可。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/705337.html





