1. 安装SQL Server
在Debian上配置网络前,需先安装SQL Server。通过以下命令导入微软公钥、注册仓库并安装:
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
安装过程中需设置SQL Server系统管理员(SA)密码。
2. 启用TCP/IP网络协议
SQL Server默认可能未启用TCP/IP,需通过以下两种方式之一开启:
sudo nano /etc/sqlserver/sqlserver.conf
找到[network] section,修改为:[network]
tcpip = true
tcpport = 1433
保存后重启服务:sudo systemctl restart mssql-server
sudo /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourStrong@Passw0rd>'
在sqlcmd中运行:EXEC xp_instance_regwrite
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = 'Software\Microsoft\MSSQLServer\MSSQLServer',
@value_name = 'TcpEnabled',
@value = 1,
@type = 'REG_DWORD';
重启服务使更改生效。3. 配置防火墙允许SQL Server流量
若系统启用ufw防火墙,需允许TCP 1433端口(SQL Server默认端口):
sudo ufw allow 1433/tcp
sudo ufw reload
若使用iptables,命令为:
sudo iptables -A INPUT -p tcp --dport 1433 -j ACCEPT
保存iptables规则(若未自动保存)。
4. 配置SQL Server允许远程连接
默认情况下,SQL Server仅允许本地连接,需通过以下步骤开启远程访问:
EXEC sp_configure 'remote access', 1;
RECONFIGURE;
EXEC xp_instance_regwrite
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = 'Software\Microsoft\MSSQLServer\MSSQLServer',
@value_name = 'LoginMode',
@value = 2, -- 2表示混合模式
@type = 'REG_DWORD';
重启服务应用更改。5. (可选)配置SQL Server Browser服务(实例名称连接)
若需通过实例名称(而非IP)连接,需启动SQL Server Browser服务:
sudo systemctl start sqlbrowser
sudo systemctl enable sqlbrowser # 设置开机自启
同时,需允许UDP 1434端口(Browser服务端口)通过防火墙:
sudo ufw allow 1434/udp
此步骤仅在通过实例名称连接时需要。
6. 验证网络连接
使用sqlcmd工具从远程机器测试连接(替换<YourServerIP>和密码):
sqlcmd -S <YourServerIP>,1433 -U SA -P '<YourStrong@Passw0rd>'
若连接成功,将显示SQL Server命令提示符。
注意事项
sudo systemctl status mssql-server。/etc/network/interfaces文件(参考Debian网络配置文档)。