SQL Server在Debian上的网络配置技巧
导读:1. 安装SQL Server 在Debian上配置网络前,需先完成SQL Server的基础安装。通过Microsoft官方仓库安装,确保版本兼容性: # 导入微软公钥并注册仓库 wget -qO- https://packages.mi...
1. 安装SQL Server
在Debian上配置网络前,需先完成SQL Server的基础安装。通过Microsoft官方仓库安装,确保版本兼容性:
# 导入微软公钥并注册仓库
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/debian/$(lsb_release -rs)/prod.list)"
# 更新包列表并安装
sudo apt-get update
sudo apt-get install -y mssql-server
# 安装过程中设置SA账户密码(必填)
此步骤为后续网络配置的前提,确保SQL Server服务正常运行。
2. 启用并配置TCP/IP协议
SQL Server默认可能未启用TCP/IP,需通过配置文件或工具手动开启:
- 方法1:修改配置文件(推荐)
编辑/etc/sqlserver/sqlserver.conf
,找到[network]
section,设置:[network] tcpip = true tcpport = 1433 # 默认端口,可自定义(如1434)
- 方法2:使用mssql-conf工具
通过命令快速配置:
修改后需重启服务生效:sudo mssql-conf set network.tcpip_enabled true sudo mssql-conf set network.tcp_port 1433
此步骤确保SQL Server监听TCP连接,是远程访问的基础。sudo systemctl restart mssql-server
3. 配置防火墙允许SQL Server端口
Debian默认使用ufw
防火墙,需开放SQL Server端口(默认1433):
# 允许TCP端口1433
sudo ufw allow 1433/tcp
# 重新加载防火墙规则
sudo ufw reload
若使用iptables
,可执行:
sudo iptables -A INPUT -p tcp --dport 1433 -j ACCEPT
防火墙是网络安全的关键,未开放端口会导致远程连接失败。
4. 配置SQL Server允许远程连接
默认情况下,SQL Server仅允许本地连接(localhost
),需通过以下步骤开启远程访问:
- 步骤1:启用远程连接功能
使用sqlcmd
工具登录SQL Server,执行:
登录后,运行以下SQL命令:sudo /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '< YourStrong@Passw0rd> '
EXEC sp_configure 'remote access', 1; -- 启用远程访问 RECONFIGURE; -- 应用配置
- 步骤2:确认身份验证模式
SQL Server需配置为混合模式身份验证(SQL Server + Windows),以支持SQL登录:
混合模式是远程连接的常见要求,确保非Windows用户可访问。ALTER LOGIN sa ENABLE; -- 启用SA账户 ALTER LOGIN sa WITH PASSWORD = '< YourStrong@Passw0rd> '; -- 设置强密码 EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'security.mode', 1; -- 1=混合模式,0=Windows模式 RECONFIGURE;
5. 可选:配置SQL Server Browser服务(实例名访问)
若需通过实例名称(如MSSQLSERVER
)而非IP地址连接,需启动SQL Server Browser服务:
# 启动服务
sudo systemctl start sqlbrowser
# 设置开机自启
sudo systemctl enable sqlbrowser
# 开放UDP端口1434(Browser服务端口)
sudo ufw allow 1434/udp
此服务将实例名称解析为IP地址和端口,方便客户端连接。
6. 验证网络连接
使用sqlcmd
从远程机器测试连接,确保配置正确:
sqlcmd -S <
Debian服务器IP>
,1433 -U SA -P '<
YourStrong@Passw0rd>
'
若连接成功,将进入SQL命令行界面,表示网络配置无误。
关键注意事项
- 端口冲突:避免SQL Server端口与其他服务(如MySQL的3306)冲突,可通过
netstat -tulnp | grep 1433
检查端口占用。 - SELinux:若Debian启用了SELinux,需调整策略允许SQL Server网络访问(通常Debian默认使用AppArmor)。
- 日志排查:若连接失败,查看SQL Server日志(
/var/opt/mssql/log/errorlog
)定位问题,常见原因包括端口未开放、身份验证模式错误。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: SQL Server在Debian上的网络配置技巧
本文地址: https://pptw.com/jishu/731391.html