欢迎光临韵绾网
详情描述

1. 服务器级权限

管理登录账户对整个SQL Server实例的访问权限。

-- 创建登录账户
CREATE LOGIN [用户名] WITH PASSWORD = '密码';

-- 授予服务器角色
ALTER SERVER ROLE [sysadmin] ADD MEMBER [用户名];
-- 或使用更细粒度的权限
GRANT CONNECT SQL TO [用户名];
GRANT VIEW SERVER STATE TO [用户名];

2. 数据库级权限

管理用户对特定数据库的访问。

-- 在目标数据库中创建用户并关联登录
CREATE USER [用户名] FOR LOGIN [用户名];

-- 授予数据库角色
ALTER ROLE [db_owner] ADD MEMBER [用户名];
-- 或自定义数据库角色
CREATE ROLE [自定义角色];
GRANT SELECT, INSERT, UPDATE ON SCHEMA::dbo TO [自定义角色];
ALTER ROLE [自定义角色] ADD MEMBER [用户名];

3. 对象级权限

控制对表、视图、存储过程等特定对象的访问。

-- 表权限
GRANT SELECT, INSERT ON [表名] TO [用户名];
GRANT UPDATE ON [表名](列1, 列2) TO [用户名]; -- 列级权限
GRANT DELETE ON [表名] TO [用户名];

-- 存储过程权限
GRANT EXECUTE ON [存储过程名] TO [用户名];

-- 视图权限
GRANT SELECT ON [视图名] TO [用户名];

4. 架构级权限

通过架构管理一组对象的权限。

-- 授予架构权限
GRANT SELECT, INSERT, UPDATE ON SCHEMA::[架构名] TO [用户名];

-- 控制架构所有权
ALTER AUTHORIZATION ON SCHEMA::[架构名] TO [用户名];

5. 使用角色管理权限

最佳实践是通过角色来管理权限。

-- 创建自定义角色
CREATE ROLE [报表角色];

-- 为角色分配权限
GRANT SELECT ON SCHEMA::Sales TO [报表角色];
GRANT EXECUTE ON [sp_生成报表] TO [报表角色];

-- 将用户添加到角色
ALTER ROLE [报表角色] ADD MEMBER [用户名1];
ALTER ROLE [报表角色] ADD MEMBER [用户名2];

6. 拒绝权限

使用DENY明确拒绝特定权限(优先级最高)。

DENY DELETE ON [敏感表] TO [用户名];
DENY ALTER ON SCHEMA::dbo TO [公共角色];

7. 使用存储过程执行权限

通过EXECUTE AS实现更精细的控制。

-- 创建带执行上下文的存储过程
CREATE PROCEDURE [敏感操作]
WITH EXECUTE AS '具有权限的用户'
AS
BEGIN
    -- 需要高权限的操作
END;

-- 只授予执行该过程的权限
GRANT EXECUTE ON [敏感操作] TO [普通用户];

8. 使用证书和密钥的权限

高级安全场景下使用。

-- 创建证书和用户
CREATE CERTIFICATE [证书名]
CREATE USER [证书用户] FROM CERTIFICATE [证书名];

-- 分配权限
GRANT CONTROL ON DATABASE::[数据库名] TO [证书用户];

权限查询语句

-- 查看用户权限
EXEC sp_helprotect NULL, '用户名';

-- 查看登录账户权限
SELECT * FROM sys.server_permissions;
SELECT * FROM sys.server_principals;

-- 查看数据库用户权限
SELECT * FROM sys.database_permissions;
SELECT * FROM sys.database_principals;

-- 查看角色成员
EXEC sp_helprolemember;

最佳实践建议

最小权限原则:只授予完成工作所需的最小权限 使用角色管理:不要直接给用户分配权限,而是通过角色 定期审计:定期检查权限分配 分离职责:开发、测试、生产环境使用不同的账户 记录变更:所有权限变更都应该有记录和审批 使用AD集成:在企业环境中建议使用Windows身份验证

权限优先级顺序

DENY(拒绝) GRANT(授予) 继承的权限(通过角色成员身份获得)

掌握这些权限设置方法可以帮助您构建安全的SQL Server环境,确保数据的保密性、完整性和可用性。

相关帖子
2026年新农合跨省就医住院费用结算周期一般是多久
2026年新农合跨省就医住院费用结算周期一般是多久
冰封鱼墙景观的观赏时段和天气条件是什么
冰封鱼墙景观的观赏时段和天气条件是什么
三亚市公司经营范围变更代办电话|注册公司费用及流程,服务好,费用低
三亚市公司经营范围变更代办电话|注册公司费用及流程,服务好,费用低
三亚市餐饮许可证代办公司-公司注册全程代办,专业团队为您服务,收费透明
三亚市餐饮许可证代办公司-公司注册全程代办,专业团队为您服务,收费透明
三亚市危险化学品经营许可证代办服务-个体户注册营业执照,无需本人到场,专业代办
三亚市危险化学品经营许可证代办服务-个体户注册营业执照,无需本人到场,专业代办
迪庆ICP经营许可证代办|个体工商户注册,专业代办,不成功不收费!
迪庆ICP经营许可证代办|个体工商户注册,专业代办,不成功不收费!
长期佩戴防蓝光眼镜会对眼睛产生依赖性或其他副作用吗?
长期佩戴防蓝光眼镜会对眼睛产生依赖性或其他副作用吗?
面对频繁的极端高温天气,普通人居家和工作中有哪些科学的避暑降温策略?
面对频繁的极端高温天气,普通人居家和工作中有哪些科学的避暑降温策略?
晋城市资质代办公司-中小微企业注册,无需本人到场,全程代办
晋城市资质代办公司-中小微企业注册,无需本人到场,全程代办
美容美白化妆品都是吹嘘的吗?正确的美白方式是什么
美容美白化妆品都是吹嘘的吗?正确的美白方式是什么
2026年公园露营预约规则出新,对帐篷尺寸和搭建区域有哪些新要求?
2026年公园露营预约规则出新,对帐篷尺寸和搭建区域有哪些新要求?
金昌市公司注册资本减资-企业注册代办,本地代办公司,价格合理
金昌市公司注册资本减资-企业注册代办,本地代办公司,价格合理
社保缴费基数的高低,会直接影响到未来养老金的具体数额吗?
社保缴费基数的高低,会直接影响到未来养老金的具体数额吗?
榆林市公司经营范围变更代办电话-广告公司注册,无需法人到场,专业代办
榆林市公司经营范围变更代办电话-广告公司注册,无需法人到场,专业代办
如何识别并应对以“隐孕”为借口的职场霸凌或不合理工作安排?
如何识别并应对以“隐孕”为借口的职场霸凌或不合理工作安排?
吕梁市网站开发建设@购物网站开发,优秀开发团队
吕梁市网站开发建设@购物网站开发,优秀开发团队
临沧市公司经营范围变更代办服务|注册公司价格,全程代办,无需亲自到场
临沧市公司经营范围变更代办服务|注册公司价格,全程代办,无需亲自到场
在遗嘱库登记遗嘱后,其法律效力与公证遗嘱相比有什么不同?
在遗嘱库登记遗嘱后,其法律效力与公证遗嘱相比有什么不同?
新乡市工商异常解除-中小微企业注册,快速办理
新乡市工商异常解除-中小微企业注册,快速办理
宜宾市网站设计公司@做网站,多年专业建站经验
宜宾市网站设计公司@做网站,多年专业建站经验