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

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章