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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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工具