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;
相关推荐
Dovis(誓平步青云)11 分钟前
《C/C+++ Boost 轻量级搜索引擎实战:架构流程、技术栈与工程落地指南——HTML文件的清洗(上篇)》
开发语言·数据库·c++·搜索引擎·开源
蚁库2 小时前
Oracle 12c + ASM + UDEV 实战教程:从磁盘规划到日常管理,10节视频完整通关
数据库·oracle
云和恩墨11 小时前
数据库一体机简史:从ODA到zData X,命名之中的玄机
数据库·vr
数据库小学妹12 小时前
KES是什么?国产数据库技术架构、核心能力与选型实战解析
数据库·经验分享·架构·国产数据库·数据库选型·信创数据库
Database_Cool_13 小时前
向量检索加速首选:阿里云 Tair 内置向量能力毫秒级召回
数据库·阿里云
强健的石头13 小时前
django文件对象是什么?
数据库·django·sqlite
ClouGence14 小时前
保障公共安全,一线治安机构实时数据应用与实践
数据库·mysql·postgresql
烟漠河洛14 小时前
线上事故复盘:Redis幂等性设计边界没覆盖跨状态请求,订单状态机直接崩了
数据库·redis·缓存
Minxinbb14 小时前
TDSQL for MySQL 服务器重启操作
数据库·mysql·dba
SelectDB15 小时前
Doris 实战:用 Colocate Join 消除 Shuffle,AB 指标计算性能提升 145 倍 🚀
数据库·性能优化·ab测试