温馨提示×

debian如何设sqlserver权限

小樊
46
2026-10-07 12:04:09
栏目: 云计算

在 Debian 上设置 SQL Server 权限,通常有两种情况:

  1. SQL Server on Linux(Microsoft 官方版)
  2. 通过客户端连接 SQL Server(权限在 SQL Server 内部设置)

下面以 SQL Server on Linux(Debian) 为例说明。


一、登录 SQL Server

1. 使用 sa 用户登录

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

或在服务器本机:

sqlcmd -S . -U sa

二、SQL Server 权限模型(重点)

SQL Server 权限分为:

  • 服务器级别(Server Level)
  • 数据库级别(Database Level)

常见权限对象

  • 登录名(Login)
  • 用户(User)
  • 角色(Role)

三、创建登录名(Login)

登录名用于连接 SQL Server

CREATE LOGIN testuser WITH PASSWORD = 'Strong@123';

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

USE mydb;
CREATE USER testuser FOR LOGIN testuser;

五、授予权限示例

1. 授予数据库读写权限

USE mydb;
ALTER ROLE db_datareader ADD MEMBER testuser;
ALTER ROLE db_datawriter ADD MEMBER testuser;

2. 授予某张表的 SELECT 权限

USE mydb;
GRANT SELECT ON dbo.orders TO testuser;

3. 授予某张表的增删改

GRANT INSERT, UPDATE, DELETE ON dbo.orders TO testuser;

4. 授予数据库所有权(谨慎)

ALTER ROLE db_owner ADD MEMBER testuser;

六、服务器级权限(高级)

-- 授予 sysadmin(最高权限,慎用)
ALTER SERVER ROLE sysadmin ADD MEMBER testuser;

七、查看权限

查看用户权限

USE mydb;
SELECT * FROM sys.database_permissions
WHERE grantee_principal_id = USER_ID('testuser');

查看登录名

SELECT name FROM sys.sql_logins;

八、Debian 系统层面的注意事项

SQL Server 在 Debian 上:

  • 不需要 Linux 用户权限
  • 权限完全由 SQL Server 控制
  • 不要用 Linux 用户当数据库用户

九、常见场景推荐配置

场景 建议
Web 应用 db_datareader + db_datawriter
报表 只给 SELECT
DBA sysadmin
只读账号 db_denydatawriter

如果你能说明:

  • SQL Server 版本
  • 是本地还是远程
  • 想给“什么用户 / 什么权限”

我可以直接给你可复制的 SQL 脚本。

0 踩