当前位置:首页 > 问答 > 正文

SQL Server端口号怎么改啊,路径在哪儿找,有没有简单点的方法讲讲

端口号是个啥? 你可以把服务器想象成一座大楼,比如一座酒店,SQL Server就是这家酒店里一个非常重要的服务,比如一个高级餐厅,端口号呢,就是这家餐厅所在的“房间号”,别人想来吃饭(也就是连接你的数据库),光知道酒店地址(服务器IP地址)还不够,还得知道餐厅在几号房(端口号),默认情况下,SQL Server的这个“餐厅”开在1433号房,改端口号,就相当于给餐厅换个房间号,可能是为了安全(不让闲杂人等轻易找到),或者是这个房间号已经被别的服务占用了。

路径在哪儿找?怎么改? 这个设置的地方,不在你的程序代码里,也不在Windows的普通设置里,而是在一个叫做 “SQL Server配置管理器” 的工具里,这个工具是安装SQL Server的时候自带的,你可以按照下面的步骤把它找出来并修改:

  1. 打开SQL Server配置管理器

    SQL Server端口号怎么改啊,路径在哪儿找,有没有简单点的方法讲讲

    • 最简单的方法是,直接在电脑左下角的搜索框(就是那个放大镜图标)里输入“SQL Server配置管理器”或者“SQL Server Configuration Manager”,然后回车就能打开它,如果找不到,试试在开始菜单里找“Microsoft SQL Server”这个文件夹,点开里面应该就有。
    • 根据微软官方文档的说明,这是管理和配置SQL Server相关服务、网络协议的主要工具。
  2. 找到网络配置

    打开配置管理器后,你会看到左边有一个树状的结构图,依次点开:“SQL Server网络配置” -> “MSSQLSERVER的协议”(这里的“MSSQLSERVER”是你的数据库实例名,如果你安装的时候没改过,默认就是这个名)。

    SQL Server端口号怎么改啊,路径在哪儿找,有没有简单点的方法讲讲

  3. 修改端口号

    • 在右边那一栏里,你会看到一个叫“TCP/IP”的选项,用鼠标右键点击它,然后选择“属性”。
    • 在弹出的属性窗口里,点上面第二个标签页,叫“IP 地址”,这个页面看起来有点复杂,有很多IP地址的列表,比如IP1、IP2、IPAll之类的。
    • 你不用管前面那些具体的IP,直接拉到最下面,找到“IPAll”这一项。
    • 在“IPAll”下面,你会看到一个叫“TCP端口”的输入框,如果里面是空的,或者有多个端口号,你不用管,你就在这个框里,把你想要设置的新端口号填进去,14333,注意,只填一个数字就行,别加其他符号。
    • 填好之后,点击“确定”按钮。
  4. 重启SQL Server服务

    SQL Server端口号怎么改啊,路径在哪儿找,有没有简单点的方法讲讲

    • 这一步非常非常关键,不改端口号不会生效! 关掉属性窗口后,回到配置管理器的左边树状图,这次点开“SQL Server服务”。
    • 在右边,你会看到一个叫“SQL Server (MSSQLSERVER)”的服务(同样,括号里的名字是你的实例名),用鼠标右键点击它,选择“重新启动”,等它重启完毕,新的端口号就开始起作用了。

有没有简单点的方法? 说实话,上面这个方法已经算是比较“官方”且相对直接的方法了,但如果你觉得点来点去还是有点麻烦,或者你想批量管理很多台服务器,那确实有更“程序员”一点的简单方法,就是用 SQL 命令来改。

这个方法需要你先用管理员账号登录到SQL Server里面,比如用SQL Server Management Studio (SSMS) 这个工具连上去,你可以执行一个系统存储过程来修改端口,根据微软官方文档中关于sp_setnetname等系统过程的说明,虽然不直接修改端口,但更常见的做法是使用配置管理器或PowerShell,最直接的命令行方式是使用SQL Server PowerShell模块

  1. 以管理员身份打开PowerShell
  2. 输入以下命令(记得把YourNewPortNumber换成你想用的实际数字,比如14333):
    Import-Module SqlServer
    $smo = 'Microsoft.SqlServer.Management.Smo.'
    $wmi = New-Object ($smo + 'Wmi.ManagedComputer')
    $tcp = $wmi.GetSmoObject("ManagedComputer[@Name='你的计算机名']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']")
    $ipall = $tcp.IPAddresses | Where-Object { $_.Name -eq 'IPAll' }
    $ipall.IPAddressProperties['TcpPort'].Value = 'YourNewPortNumber'
    $tcp.Alter()
  3. 执行完后,同样需要重启SQL Server服务,方法跟上面第4步一样。

这个PowerShell脚本看起来一串英文有点吓人,但其实它就是自动完成了我们在配置管理器里手动点击的那些步骤,对于熟悉命令行的朋友来说,复制粘贴一下可能更快,但对于不常接触的朋友,还是老老实实用配置管理器更直观保险。

最后提醒几个事儿:

  • 防火墙:你改了端口号之后,一定要记得去Windows防火墙(或者你用的其他防火墙软件)里,把新的端口号给“放行”,不然,外面的人还是连不进来,具体就是新建一个入站规则,允许TCP协议通过你刚设的那个新端口。
  • 端口号别乱选:端口号最好选1024以上的,比如14333、54321之类的,避免和一些系统已知的常用服务冲突,也别选太常见的,比如3389(远程桌面)、80(网页)这些。
  • 连接字符串要改:你的程序(比如网站、软件)在连接数据库的时候,那个连接字符串里也要把端口号从原来的1433改成你新设的号码,不然程序就找不到“餐厅”了,格式通常是“服务器IP地址,端口号”,192.168.1.100,14333”。

最推荐普通用户的方法就是通过“SQL Server配置管理器”这个图形化工具来改,步骤清晰,改完千万别忘了重启服务和配置防火墙,希望这个直接的解释能帮到你。