温馨提示×

debian上sqlserver如何授权

小樊
48
2026-10-28 13:03:58
栏目: 云计算

在 Debian 上安装并运行 SQL Server(Microsoft SQL Server on Linux) 后,授权(用户权限管理)与 Windows 上的 SQL Server 基本一致,都是通过 T-SQL 来完成的。下面按常见场景说明。


一、登录 SQL Server(Debian)

sqlcmd -S localhost -U sa -P '你的SA密码'

或使用 mssql-cli、SSMS(远程连接)。


二、创建登录账号(Login)

1. SQL 账号登录(推荐)

CREATE LOGIN appuser WITH PASSWORD = 'Strong@Password123';

2. Windows 账号(仅域环境,Debian 不常用)

Debian 上的 SQL Server 不支持本地 Windows 登录,仅支持 AD 域(复杂,不推荐新手)。


三、创建数据库用户(User)

登录账号 ≠ 数据库用户,需要映射到具体数据库。

USE YourDatabase;
GO
CREATE USER appuser FOR LOGIN appuser;
GO

四、授权方式(重点)

1. 授予数据库角色(最简单)

ALTER ROLE db_datareader ADD MEMBER appuser;
ALTER ROLE db_datawriter ADD MEMBER appuser;

常用角色:

  • db_datareader:读
  • db_datawriter:写
  • db_owner:完全控制(慎用)

2. 授予具体权限

GRANT SELECT ON dbo.Users TO appuser;
GRANT INSERT, UPDATE ON dbo.Orders TO appuser;

3. 授予存储过程执行权限

GRANT EXECUTE ON dbo.sp_GetReport TO appuser;

五、SA 用户与权限说明

  • sa 是 sysadmin
  • 默认拥有全部权限
  • 不建议业务系统使用 sa

查看角色:

SELECT * FROM sys.server_role_members;

六、示例:完整授权流程

-- 创建登录
CREATE LOGIN appuser WITH PASSWORD = 'Strong@Password123';

-- 使用数据库
USE MyDB;
GO

-- 创建用户
CREATE USER appuser FOR LOGIN appuser;

-- 授权
ALTER ROLE db_datareader ADD MEMBER appuser;
ALTER ROLE db_datawriter ADD MEMBER appuser;

七、常见问题

1. 登录失败

  • 检查 SQL Server 是否允许 SQL 登录
  • 检查密码策略

2. 用户无权限

  • 确认 Login 和 User 都已创建
  • 确认 USE 数据库 后再授权

如果你有 具体场景(如:只读账号、Web 应用账号、跨库访问、AD 域),可以告诉我,我可以给你更精确的授权方案。

0 踩