SQL Server 命名实例与修改端口号

本文介绍了如何在SQLServer 2000及2005版本中修改实例名称与端口号,并提供了程序访问的完整连接字符串示例。


http://tangzhongxin.blog.163.com/blog/static/8921961201332953522284/


SQL Server 命名实例与修改端口号


1、SQL Server 2005 修改实例名


SELECT * FROM sysservers
go
--UPDATE sysservers SET srvname='user'
sp_dropserver '深度系统' --老实例名,将这个实例名删除
GO
sp_addserver 'user', LOCAL --新实例名,将本地服务器重新添加到服务器列表中
GO
自SQL2005开始不支持直接对系统目录的修改,必须用以上的方法修改实例名。


2、SQL Server 2000 修改实例名


不建议修改,而是直接重新安装实例


3、SQL Server 2005 修改端口号


SQL Server 2005 不能远程访问的原因也在这里配置(删除动态端口)


20130429172401870


?


4、SQL Server 2000 修改端口号


算了吧!


?


5、程序访问完整连接字符串


string connStr = @"server=192.168.1.138\sql2k5,21433;uid=sa;pwd=0;database=master;";


IP地址\实例名,端口号


是命名实例,则在服务器IP地址与实例名间反斜杠分隔


若非默认端口而是指定端口,则在服务器IP实例名后与端口号用逗号分隔

<think> 我们正在查找如何查看 SQL Server 2014 实例端口号。根据引用内容,我们知道配置端口通常在 SQL Server 配置管理器中完成,但没有直接提到查看端口的方法。因此,我们需要结合常规方法来解决。 ### 查看 SQL Server 2014 实例端口的三种方法 #### 方法一:通过 SQL Server 配置管理器(推荐) 1. 打开 **SQL Server 配置管理器**(可通过开始菜单搜索或运行 `SQLServerManager12.msc` 打开,其中12对应 SQL Server 2014)。 2. 展开 **SQL Server 网络配置** → 选择 **对应实例名的协议**(如 `MSSQLSERVER` 或 `SQLEXPRESS`)。 3. 右键单击 **TCP/IP** → 选择 **属性**。 4. 切换到 **IP 地址** 选项卡 → 滚动到最下方的 **IPAll** 部分: - **TCP 动态端口**:若此处有值(如 `49152`),表示使用动态端口(每次启动可能变化)。 - **TCP 端口**:若有固定值(如 `1433`),则实例使用该端口[^2]。 > ⚠️ 注意:若两者共存,SQL Server 会优先监听动态端口,客户端连接时需通过 SQL Server Browser 服务获取实际端口。 #### 方法二:通过 Windows 命令提示符 ```bash netstat -ano | findstr :<端口号或进程名> ``` - 示例(查找 SQL Server 进程 `sqlservr.exe` 的端口): ```bash tasklist | findstr "sqlservr.exe" # 先获取进程 PID netstat -ano | findstr <PID> # 替换为实际 PID ``` - 或直接扫描 1433 等常见端口: ```bash netstat -ano | findstr ":1433" ``` #### 方法三:通过 SQL 查询(需连接实例) ```sql USE master; GO DECLARE @port NVARCHAR(10); EXEC xp_regread @rootkey = 'HKEY_LOCAL_MACHINE', @key = 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.<实例名>\MSSQLServer\SuperSocketNetLib\Tcp\IPAll', @value_name = 'TcpPort', @value = @port OUTPUT; SELECT @port AS '端口号'; ``` > 说明: > - `MSSQL12.<实例名>` 需替换为实际注册表路径: > - 默认实例:`MSSQL12.MSSQLSERVER` > - 命名实例:`MSSQL12.<实例名>` > - 若返回 `NULL`,检查实例路径是否存在[^1]。 --- ### 端口未显示时的处理 - **动态端口问题**:若配置为动态端口(TCP 动态端口非空),客户端需通过 SQL Server Browser 服务(端口 1434/UDP)获取实时端口。 - **防火墙拦截**:即使端口正确配置,若被防火墙阻止,外部仍无法访问。需放行该端口(或 `sqlservr.exe` 进程)。 --- ✅ **验证端口是否开放**(从客户端测试): ```bash telnet <服务器IP> <端口号> # 连通则显示空白窗口 ``` --- §§ 相关问题 §§ 1. 如何修改 SQL Server 2014 的默认监听端口? 2. 为什么配置了固定端口后客户端仍无法连接 SQL Server? 3. 如何通过注册表直接修改 SQL Server 端口? 4. SQL Server Browser 服务的作用是什么? [^1]: 动态端口由 `TCP 动态端口` 字段决定,固定端口由 `TCP 端口` 字段指定。 [^2]: `IPAll` 区域的设置会覆盖所有 IP 的单独配置。 </think> 以下是查看 SQL Server 2014 实例端口的三种方法,按操作复杂度排序: ### 方法一:通过 SQL Server 配置管理器(推荐) 1. 打开 **SQL Server 配置管理器** - Windows 搜索 → 输入 `SQL Server 配置管理器` - 或运行命令:`SQLServerManager12.msc`(12 对应 SQL Server 2014) 2. 定位协议设置 - 展开 **SQL Server 网络配置** - 选择 **对应实例的协议**(如 `MSSQLSERVER` 或 `SQLEXPRESS`) 3. 查看端口 - 双击 **TCP/IP** 协议 - 切换到 **IP 地址** 选项卡 - 滚动到底部 **IPAll** 区域: - **TCP 动态端口**:显示动态分配的端口(重启可能变化) - **TCP 端口**:显示固定端口(若有配置)[^1][^2] > 📌 示例:若 `TCP 端口 = 1433`,则表示实例使用标准端口 1433 --- ### 方法二:通过命令提示符(快速验证) 1. 打开命令提示符(管理员权限) ```cmd netstat -ano | findstr "sqlservr" ``` 2. 解析结果: - 查找 `LISTENING` 状态的行 - 观察 `本地地址` 列的端口号(如 `0.0.0.0:1433`) - 记录对应的 PID(进程 ID) 3. 验证实例: ```cmd tasklist /fi "PID eq <上一步的PID>" ``` > 输出会显示实例名(如 `sqlservr.exe` 对应默认实例) --- ### 方法三:通过 SQL 查询(需连接实例) ```sql SELECT DISTINCT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID ``` > ✅ 此方法直接返回**当前连接使用的端口号** > ❗ 需先建立数据库连接才可执行 --- ### 端口状态验证(重要补充) 执行 telnet 测试端口是否开放: ```cmd telnet localhost 1433 # 替换为实际端口 ``` - 黑屏闪烁后返回空白:端口开放[^1] - 连接失败提示:端口被阻止 --- ### 动态端口说明 若 **TCP 动态端口** 有值(如 `49152`),表示: 1. 实例使用动态端口(每次重启可能变化) 2. 客户端需通过 **SQL Server Browser 服务**(端口 1434/UDP)获取实时端口 3. 检查 Browser 服务状态: - 服务管理器 → 确保 **SQL Server Browser** 正在运行 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值