SQLSever语句新建用户、对用户授权、用户对用户授权等等

基于实验一建立的“图书读者数据库”(Book_Reader_DB)和实验二输入的部分虚拟数据,在SQL Server 2008查询分析器的Transact-SQL语句输入区输入Transact-SQL语句,然后点击“查询”菜单中的“执行”菜单项(或用F5快捷键),执行输入区的Transact-SQL语句。具体实验内容如下:

/假定系统有U1、U2、U3 、U4、U5、U6六个登录用户/

Exec sp_addlogin 'U1','123456'
Exec sp_addlogin 'U2','123456'
Exec sp_addlogin 'U3','123456'
Exec sp_addlogin 'U4','123456'
Exec sp_addlogin 'U5','123456'
Exec sp_addlogin 'U6','123456'

Exec sp_droplogin 'U1'
Exec sp_droplogin 'U2'
Exec sp_droplogin 'U3'
Exec sp_droplogin 'U4'
Exec sp_droplogin 'U5'
Exec sp_droplogin 'U6'

/**使其成为当前数据库的合法用户**/
Exec sp_grantdbaccess 'U1'
Exec sp_grantdbaccess 'U2'
Exec sp_grantdbaccess 'U3'
Exec sp_grantdbaccess 'U4'
Exec sp_grantdbaccess 'U5'
Exec sp_grantdbaccess 'U6'

/**授予对自己数据库的所有权限**/
Exec sp_addrolemember 'db_owner','U1'

/**试将查询图书表的权限由管理员授权给U1**/
use Book_Reader_DB
go
Grant select on Book to U1 with grant option grant select Book to U2

Grant select on Book to U1

/**以U1用户的身份重新登录系统后,再把权限授予给U2**/
Grant select on Book to U2

/**系统管理员把插入数据给借阅表的权限授予给U3**/
Grant insert on Borrow to U3

/**系统管理员把添加图书数据的权限授予给U4**/
Grant insert on Book to U4

/**系统管理员把修改读者数据信息的权限授予给U5**/
Grant Update on Reader to U5

/**将U1访问图书表的权限收回**/
Revoke select on Book from U1

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数据库)