在 Debian 上安装并运行 SQL Server(Microsoft SQL Server on Linux) 后,授权(用户权限管理)与 Windows 上的 SQL Server 基本一致,都是通过 T-SQL 来完成的。下面按常见场景说明。
sqlcmd -S localhost -U sa -P '你的SA密码'
或使用 mssql-cli、SSMS(远程连接)。
CREATE LOGIN appuser WITH PASSWORD = 'Strong@Password123';
Debian 上的 SQL Server 不支持本地 Windows 登录,仅支持 AD 域(复杂,不推荐新手)。
登录账号 ≠ 数据库用户,需要映射到具体数据库。
USE YourDatabase;
GO
CREATE USER appuser FOR LOGIN appuser;
GO
ALTER ROLE db_datareader ADD MEMBER appuser;
ALTER ROLE db_datawriter ADD MEMBER appuser;
常用角色:
db_datareader:读db_datawriter:写db_owner:完全控制(慎用)GRANT SELECT ON dbo.Users TO appuser;
GRANT INSERT, UPDATE ON dbo.Orders TO appuser;
GRANT EXECUTE ON dbo.sp_GetReport TO appuser;
sa 是 sysadmin查看角色:
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;
Login 和 User 都已创建USE 数据库 后再授权如果你有 具体场景(如:只读账号、Web 应用账号、跨库访问、AD 域),可以告诉我,我可以给你更精确的授权方案。