MSSQL04: SQLserver的用户权限管理

情景

我的服务器有很多库,我新建一个用户【MyTest】(密码也是MyTest),这个用户只拥有【Test】库的控制权。

一、创建账号

使【MyTest】用户可以连上服务器

sql 复制代码
-- 创建SQL Server身份验证的登录名
CREATE LOGIN MyTest 
WITH PASSWORD = 'MyTest',
CHECK_POLICY = OFF,  -- 根据你的安全策略调整
DEFAULT_DATABASE = Test;  -- 设置默认数据库为Test

二、创建用户并授权

使【MyTest】用户可以连上【Test】库,并且拥有增删改权限

sql 复制代码
-- 切换到Test数据库
USE Test;
-- 在Test数据库中创建用户并映射到登录名
CREATE USER MyTest FOR LOGIN MyTest;
sql 复制代码
-- 授予用户在Test数据库中的db_owner权限
-- 这会给予完全控制权(包括查看、修改、删除等所有权限)
ALTER ROLE db_owner ADD MEMBER MyTest;

结果:【MyTest】用户只可以连接【Test】库,并拥有该库的控制权限

三、权限限制

1.权限拒绝

sql 复制代码
-- 切换数据库
USE Test;
-- 拒绝【MyTest】用户 对 Student_2024 表的 INSERT、UPDATE、DELETE 权限
DENY INSERT, UPDATE, DELETE ON dbo.Student_2024 TO MyTest;
GO

2.权限允许

sql 复制代码
-- 切换到目标数据库
USE Test;
-- 授予【MyTest】用户 对 Student_2024 表的 INSERT、UPDATE、DELETE 权限
GRANT INSERT, UPDATE, DELETE ON dbo.Student_2024 TO MyTest;
相关推荐
Pniubi1 小时前
MySQL靠什么实现事务的?事务隔离级别有哪些?
java·数据库·mysql
数据库小学妹1 小时前
pgbouncer 事务池:prepared statement、临时表与会话状态
数据库·后端·postgresql
Lucifer三思而后行3 小时前
最近折腾了一下金仓数据库的备份恢复
数据库·备份恢复
草莓熊Lotso4 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试
进击的荆棘5 小时前
MySQL——库的操作
数据库·mysql
2601_967980115 小时前
“小程序·云开发”上线 助力开发者的高效利器
数据库·存储管理·小程序云开发·云函数·开发者工具
zhangjw345 小时前
1-9 SELECT 查询基础:where、group by、having、order by、limit offset
数据库·postgresql·pg数据库
唐老板5 小时前
Postgres 慢查询,先取证再动手
数据库·ai编程
笃行35012 小时前
数据库性能优化的五处内核改造,KingbaseES 配了四件诊断工具
数据库
非优秀程序员14 小时前
第02章 杭电的英语老师与一台服务器|《互联网产品恩仇录》
数据库·node.js·代码规范