前言
第一次用上微软 SQL Server 的我天真地以为能直接用远程工具连接了,但是装好 SQLServer 之后,局域网的第二台电脑用SSMS尝试连 SQLServer,居然没法连上,防火墙都按照微软的说明文档加入规则依旧不行。
于是咕噜咕噜一下资料才得知这玩意默认不开放TCP/IP的......
行吧,知道原因之后,那就写个笔记。
Tips
解决方法
一. 放行端口
SQL Server Browser 服务的端口分别是 TCP 1433 和 UDP 1434,因此需要先在防火墙中开放他们,微软知识库中提供了两条命令行,可以用 Powershell 管理员权限来设置
New-NetFirewallRule -DisplayName "SQLServer default instance" -Direction Inbound -LocalPort 1433 -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "SQLServer Browser service" -Direction Inbound -LocalPort 1434 -Protocol UDP -Action Allow
二. 允许远程连接(默认已开启,建议检查)
在服务器上(注意是服务器本机)用 SSMS 连接你的 SQLServer 后,右键数据库服务器 > 属性 > 连接 > 允许远程连接到此服务器


三. 配置 TCP/IP 服务(默认不开启)
这是最重要的一步,在开始中找到 SQL Server 配置管理器,找到 MSSQLSERVER 的协议 > TCP/IP > 【弹出属性窗口】常规 > 【已启用】设置为【是】,然后点击确认


四. 重启 SQL Server 服务
最后一步,在SQL Server 服务 > SQL Server(你的SQLServer命名) > 右键 > 重启;当然,你也可以重启系统,一样的效果
此时SQL Server 就可以正常在局域网内远程连接了

五. 尝试连接
用局域网内的第二台电脑用 SSMS 尝试连接 SQL Server,这里用默认的sa账号来尝试,密码则是安装 SQLServer 的时候你所输入的密码,【数据库名称】一栏能加载出数据库名代表连接正常了,注意要信任服务器证书,否则可能报错

参考
知乎 —— 【XFLLLNA】sql server 开启远程连接和测试教程
Learn Microsoft —— 将 Windows 防火墙配置为允许 SQL Server 访问
很好,又学到了新知识()