在 Debian 上运行 SQL Server(Microsoft SQL Server on Linux) 时,“授权”通常指 登录账号、数据库权限、以及操作系统/服务账号的授权。下面按常见场景说明。
安装后先用 sa 登录:
sqlcmd -S localhost -U SA -P '你的SAPassword'
CREATE LOGIN appuser WITH PASSWORD = 'StrongPassword!';
USE YourDB;
CREATE USER appuser FOR LOGIN appuser;
-- 只读
ALTER ROLE db_datareader ADD MEMBER appuser;
-- 读写
ALTER ROLE db_datawriter ADD MEMBER appuser;
-- 数据库 owner(谨慎)
ALTER ROLE db_owner ADD MEMBER appuser;
⚠️ SQL Server on Linux 不支持 Windows 集成登录(AD 除外)
可选方案:
若使用 AD:
CREATE LOGIN [DOMAIN\user] FROM WINDOWS;
⚠️ 配置复杂,生产环境才建议
SQL Server 在 Debian 上以系统用户运行:
mssql
查看:
ps aux | grep sqlservr
一般 不需要手动改权限,除非:
授权示例:
sudo chown -R mssql:mssql /data/sqlserver
sudo chmod 750 /data/sqlserver
SQL Server 默认端口:
1433
开放端口:
sudo ufw allow 1433/tcp
或限制 IP:
sudo ufw allow from 192.168.1.100 to any port 1433
SELECT * FROM sys.database_role_members;
SELECT * FROM sys.server_principals;
| 问题 | 原因 |
|---|---|
| 登录失败 | 密码策略 / 账号被禁用 |
| 无法访问库 | 未 CREATE USER |
| 权限不足 | 未加角色 |
| 服务起不来 | 目录权限不对 |
如果你能具体说:
我可以给你更精确的命令。