在CentOS上设置SQL Server权限需结合系统命令与SQL Server工具,核心步骤如下:
创建数据库用户
sqlcmd
创建用户:CREATE LOGIN [用户名] WITH PASSWORD = '密码';
CREATE USER [用户名] FOR LOGIN [用户名];
(注:需先通过sqlcmd
连接到SQL Server实例)。分配数据库角色
db_datareader
、db_datawriter
)。USE [数据库名];
EXEC sp_addrolemember '角色名', '用户名';
配置服务账户权限
mssql
)运行,避免使用root
:sudo usermod -aG mssql <用户名> # 将用户加入mssql组
sudo chown -R mssql:mssql /var/opt/mssql # 设置数据目录权限
防火墙与端口控制
sudo firewall-cmd --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
最小权限原则
sa
账户直接连接。Named Pipes
),仅保留TCP/IP
。日志与监控
ALTER SERVER CONFIGURATION SET LOGIN_AUDITING = 2; -- 0=无审计,1=失败,2=全部
sqlcmd
连接,执行测试语句(如SELECT * FROM 表名
),确认权限生效。注意事项:
SELECT * FROM sys.database_principals
检查用户权限,清理冗余账户。参考来源: