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;
相关推荐
2501_9454235417 小时前
用Matplotlib绘制专业图表:从基础到高级
jvm·数据库·python
2301_7938046917 小时前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
哆啦A梦15881 天前
Springboot整合MyBatis实现数据库操作
数据库·spring boot·mybatis
Zzzzmo_1 天前
【MySQL】JDBC(含settings.xml文件配置/配置国内镜像以及pom.xml文件修改)
数据库·mysql
FirstFrost --sy1 天前
MySQL内置函数
数据库·mysql
2401_879693871 天前
将Python Web应用部署到服务器(Docker + Nginx)
jvm·数据库·python
reembarkation1 天前
光标在a-select,鼠标已经移出,下拉框跟随页面滚动
java·数据库·sql
eggwyw1 天前
MySQL-练习-数据汇总-CASE WHEN
数据库·mysql
星轨zb1 天前
通过实际demo掌握SpringSecurity+MP中的基本框架搭建
数据库·spring boot·spring security·mp
treacle田1 天前
达梦数据库-配置本地守护进程dmwatcher服务-记录总结
数据库·达梦数据库·达梦数据库local数据守护