SQL语句新建用户、对用户授权、删除用户实例(转载)(创建只读用户)

原文链接:https://blog.csdn.net/htl258/java/article/details/5696849

USE mydb  --指定数据库

GO

--1. 新建测试用户

--1.1 添加登录用户和密码  

EXEC sp_addlogin N'tony','123'

--1.2 使其成为当前数据库的合法用户   

EXEC sp_grantdbaccess N'tony'  

 

--2.设置操作授权

--2.1 授予对自己数据库的所有权限     

EXEC sp_addrolemember N'db_owner', N'tony'

 

--2.2 以下是设置具体操作权限

--授予tony对所有用户表的操作权限

GRANT SELECT,INSERT,UPDATE,DELETE TO tony 

--授予tony SELECT,UPDATE到具体的表  

GRANT SELECT,UPDATE ON tb TO tony  

--授予tony SELECT,UPDATE到具体的表和列    

GRANT SELECT,UPDATE ON tb(id,col) TO tony  

--禁止tony对所有用户表的操作权限

DENY SELECT,INSERT,UPDATE,DELETE TO tony 

--禁止tony SELECT,UPDATE到具体的表

DENY SELECT,UPDATE ON tb TO tony  

--禁止tony SELECT,UPDATE到具体的表和列 

DENY SELECT,UPDATE ON tb(id,col) TO tony  

--删除tony 对所有用户表的授权信息

REVOKE SELECT,INSERT,UPDATE,DELETE TO tony

 

--授予tony对具有创建表、视图、存储过程等的操作权限

GRANT CREATE TABLE,CREATE VIEW,CREATE PROC TO tony 

--禁止tony对具有创建表、视图、存储过程等的操作权限

DENY CREATE TABLE,CREATE VIEW,CREATE PROC TO tony 

--删除tony对具有创建表、视图、存储过程等的授权信息

REVOKE CREATE TABLE,CREATE VIEW,CREATE PROC TO tony 

 

GO

--注:更多相关授权信息参考后面的附表中“数据库权限”列。

 

--3. 删除测试用户

EXEC sp_revokedbaccess N'tony'   --移除用户对数据库的访问权限

EXEC sp_droplogin N'tony'        --删除登录用户 ;可能报错:正在登录无法删除,那就断开连接,关闭与它相关的sql;继续报错,则需等待几十秒钟再尝试。

GO

 

 

 

 

 

 

 

 

 

 

posted @   hao_1234_1234  阅读(1365)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示