要让其他电脑连接到 SQL Server 数据库服务器,需要在服务端进行一系列配置(确保网络可达、SQL Server 允许远程连接、防火墙放行等)。以下是详细步骤:
一、检查 SQL Server 服务是否启动
- 在 服务端电脑 上,按下
Win + R,输入services.msc打开 "服务" 窗口。 - 找到
SQL Server (MSSQLSERVER)(默认实例)或你的自定义实例(如SQL Server (SQLEXPRESS)),确保其状态为 "正在运行"。- 若未启动,右键 → "启动"。
二、启用 SQL Server 远程连接
默认情况下,SQL Server 可能禁用远程连接,需手动开启:
-
打开 SQL Server 配置管理器:
- 方法 1:在 "开始" 菜单搜索
SQL Server 配置管理器(适用于 SQL Server 2008 及以上)。 - 方法 2:通过路径打开:
C:\Windows\SysWOW64\SQLServerManagerXX.msc(XX 对应版本,如 15 对应 SQL Server 2019)。
- 方法 1:在 "开始" 菜单搜索
-
启用 TCP/IP 协议:
- 展开 SQL Server 网络配置 → 选中你的实例(如
MSSQLSERVER 的协议)。 - 在右侧找到
TCP/IP,右键 → "启用"(若已启用则跳过)。 - 重启 SQL Server 服务:在 "服务" 窗口中,右键 SQL Server 服务 → "重启",使 TCP/IP 生效。
- 展开 SQL Server 网络配置 → 选中你的实例(如
-
配置 TCP 端口(可选,建议固定端口):
- 双击
TCP/IP→ 切换到 "IP 地址" 选项卡。 - 拉到最下方,找到 "IPAll" → "TCP 端口",设置为固定端口(如默认的
1433,建议保持默认便于连接)。 - 点击 "确定",再次重启 SQL Server 服务。
- 双击
三、配置 SQL Server 身份验证模式
确保 SQL Server 允许 "SQL Server 身份验证"(而非仅 "Windows 身份验证"),否则其他电脑可能无法用账号密码连接:
-
打开 SQL Server Management Studio (SSMS),连接到本地 SQL Server。
-
右键服务器实例 → "属性" → "安全性"。
-
选中 SQL Server 和 Windows 身份验证模式 → 点击 "确定"。
-
重启 SQL Server 服务使设置生效。
-
创建 / 启用 SQL 登录账号(供远程连接使用):
- 在 SSMS 中,展开 "安全性" → "登录名" → 右键 "新建登录名"。
- 选择 "SQL Server 身份验证",设置用户名(如
remoteUser)和密码(取消 "强制实施密码策略" 可选,测试用)。 - 在 "服务器角色" 中,至少勾选
public(或根据需求授予更高权限,如db_owner)。 - 点击 "确定" 创建账号。
四、配置防火墙(关键步骤)
服务端电脑的防火墙会阻止外部连接,需放行 SQL Server 端口(默认 1433):
-
打开 Windows 防火墙高级设置:
- 控制面板 → 系统和安全 → Windows Defender 防火墙 → 左侧 "高级设置"。
-
新建入站规则:
- 左侧 "入站规则" → 右侧 "新建规则"。
- 规则类型:端口 → 下一步。
- 协议和端口:选择 "TCP","特定本地端口" 输入
1433(若之前修改了端口则填对应值)→ 下一步。 - 操作:"允许连接" → 下一步。
- 配置文件:勾选 "域"、"专用"、"公用"(根据网络环境选择,测试时全选)→ 下一步。
- 名称:输入
SQL Server (1433)→ 完成。
-
(可选)放行 SQL Server 程序:
- 若端口配置有问题,可直接放行 SQL Server 程序:
- 新建入站规则 → 规则类型选择 "程序" → 选择 SQL Server 执行文件(默认路径:
C:\Program Files\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Binn\sqlservr.exe)→ 允许连接 → 完成。
- 新建入站规则 → 规则类型选择 "程序" → 选择 SQL Server 执行文件(默认路径:
- 若端口配置有问题,可直接放行 SQL Server 程序:
五、获取服务端 IP 地址
其他电脑需要通过服务端的 IP 地址连接,在服务端电脑上获取 IP:
- 按下
Win + R,输入cmd→ 执行ipconfig,找到 "IPv4 地址"(如192.168.1.100)。
六、客户端测试连接
在其他电脑上,打开 SSMS 或程序,测试连接:
-
使用 SSMS 连接:
- 服务器名称:输入服务端的 IP 地址,端口 (如
192.168.1.100,1433;若用默认端口,可省略端口直接写 IP)。 - 身份验证:选择 "SQL Server 身份验证"。
- 登录名 / 密码:输入步骤三中创建的 SQL 账号(如
remoteUser)→ 点击 "连接"。
- 服务器名称:输入服务端的 IP 地址,端口 (如
-
使用程序连接(示例:C#):
// 连接字符串格式(IP+端口+账号密码) string connStr = @"Data Source=192.168.1.100,1433;Initial Catalog=你的数据库名;User ID=remoteUser;Password=你的密码;";
常见问题排查
-
连接失败:超时或无法访问:
- 检查服务端 IP 是否正确,客户端能否
ping 服务端IP(网络是否可达)。 - 检查 SQL Server 服务是否启动,TCP/IP 是否启用。
- 检查防火墙是否放行 1433 端口。
- 检查服务端 IP 是否正确,客户端能否
-
登录失败:无法验证用户:
- 确认 SQL Server 身份验证模式已启用。
- 检查账号密码是否正确,账号是否有远程登录权限(在 SSMS 登录名属性的 "状态" 中,确保 "允许连接到数据库引擎" 为 "授予")。
-
端口问题:
- 若 1433 端口被占用,可在 SQL Server 配置管理器中修改为其他端口(如 1434),并同步更新防火墙规则和客户端连接字符串。
通过以上步骤,即可实现其他电脑对 SQL Server 服务端的远程连接。核心是确保 网络可达、TCP/IP 启用、端口放行、身份验证正确。