SQL Server 用户管理功能

SQL Server 提供了全面的用户管理功能,用于控制数据库访问权限和安全。以下是SQL Server用户管理的主要功能:

1. 登录账户(Logins)管理

  • 服务器级身份验证:控制谁可以连接到SQL Server实例
  • 支持两种身份验证模式:
  • Windows身份验证(集成安全)
  • SQL Server身份验证(用户名/密码)
  • 可以创建基于Windows用户/组的登录或SQL Server自有登录

2. 数据库用户(Users)管理

  • 数据库级访问控制:将登录账户映射到特定数据库
  • 每个数据库可以有独立于服务器登录的用户
  • 支持包含用户(contained users),简化数据库迁移

3. 角色管理

  • 服务器角色:预定义的服务器级权限组(如sysadmin、securityadmin)
  • 数据库角色
  • 固定数据库角色(db_owner、db_datareader等)
  • 自定义数据库角色(可创建特定权限组合)

4. 权限管理

  • 粒度权限控制:可授予/拒绝对象级权限(SELECT, INSERT, UPDATE等)
  • 模式(Schema)权限管理
  • 可授予执行存储过程的权限

5. 安全对象管理

  • 管理服务器、数据库和架构级别的安全对象
  • 控制对特定表、视图、存储过程等的访问

6. 凭据(Credentials)管理

  • 存储认证信息,用于访问SQL Server外部资源

7. 审计功能

  • 跟踪和记录用户活动
  • 可配置细粒度的审计策略

常用管理命令示例

-- 创建SQL Server登录
CREATE LOGIN [用户名] WITH PASSWORD = '密码';-- 创建数据库用户
CREATE USER [用户名] FOR LOGIN [登录名];-- 将用户添加到数据库角色
ALTER ROLE [角色名] ADD MEMBER [用户名];-- 授予表权限
GRANT SELECT, INSERT ON [表名] TO [用户名];-- 查看用户权限
EXEC sp_helprotect NULL, '用户名';

SQL Server的用户管理功能提供了多层次的安全控制,从服务器连接到数据库对象访问都有细粒度的权限管理选项。