1. 安装SQL Server
首先在Ubuntu上安装SQL Server,确保已添加Microsoft的APT仓库并完成安装。若未安装,可通过以下命令完成:
# 导入Microsoft GPG密钥
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
# 注册SQL Server Ubuntu仓库(以2022版为例,可根据需求替换版本号)
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/mssql-server-2022.list)"
# 更新包列表并安装SQL Server
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y mssql-server
安装过程中会提示设置SA账户的强密码(必用)。
2. 配置SQL Server允许远程连接
通过mssql-conf工具修改配置文件,启用TCP/IP协议:
sudo nano /etc/sqlserver/mssql.conf
找到[network]部分,添加或修改以下行(确保tcpip = true):
[network]
tcpip = true
保存退出后,重启SQL Server服务使配置生效:
sudo systemctl restart mssql-server
注:部分旧版本可能需要修改
/etc/sqlserver/ssms.conf,但主流版本推荐使用mssql.conf。
3. 开放防火墙端口
若服务器启用了UFW防火墙,需允许SQL Server默认端口(1433)的入站流量:
sudo ufw allow 1433/tcp
sudo ufw reload
若使用其他防火墙(如iptables),需添加对应规则允许1433端口的TCP连接。
4. 创建SQL Server登录账户
使用SA账户登录SQL Server,创建远程访问账户并授权:
# 使用sqlcmd命令行工具连接(需提前安装mssql-tools)
sudo /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'YourStrongPassword'
在SQLCMD提示符下,执行以下命令:
-- 创建登录账户
CREATE LOGIN [RemoteUser] WITH PASSWORD = 'YourSecurePassword123!';
-- 创建数据库用户并关联登录账户
CREATE USER [RemoteUser] FOR LOGIN [RemoteUser];
-- 授予读写权限(可根据需求调整角色)
EXEC sp_addrolemember 'db_datareader', 'RemoteUser';
EXEC sp_addrolemember 'db_datawriter', 'RemoteUser';
退出sqlcmd:
QUIT
提示:避免使用弱密码,建议包含大小写字母、数字和特殊字符。
5. 测试远程连接
从远程客户端(如Windows或另一台Ubuntu机器)测试连接:
使用SQL Server Management Studio (SSMS):
打开SSMS,在“连接到服务器”对话框中输入:
远程服务器IP地址(如192.168.1.100);RemoteUser(步骤4创建的账户);YourSecurePassword123!'。使用sqlcmd命令行工具:
在客户端终端执行:
/opt/mssql-tools/bin/sqlcmd -S 远程服务器IP地址 -U RemoteUser -P 'YourSecurePassword123!' -d master
输入后可执行SELECT @@VERSION;等查询,验证连接有效性。
常见问题排查
sudo systemctl status mssql-server(状态应为active (running));sudo ufw status(应显示1433/tcp ALLOW);/var/log/mssql-server/mssql-server.log。