您的位置:首页 > 数据库

SQL2008和SQL2000下为每个登录用户设置不同表的访问权限

2013-03-11 14:52 579 查看
实现功能是 username用户 只能访问DATABASEName数据库下的tablename表 只有查询功能不能进行删除和修改

SQLSERVER2008 下

USE [master]

--创建登录账号 

CREATE login UserName with password='dba' 

--创建登录用户

USE DATABASEName

CREATE USER [UserName ] FOR LOGIN [UserName ] WITH DEFAULT_SCHEMA=[dbo]

GO

--创建角色

CREATE ROLE [db_ROLE] AUTHORIZATION [UserName ]

--创建角色权限

GRANT CONTROL ON [dbo].[TABLEName] TO [db_ROLE] WITH GRANT OPTION 

GRANT SELECT ON [dbo].[TABLEName] TO [db_ROLE] WITH GRANT OPTION 

DENY DELETE ON [dbo].[TABLEName] TO [db_ROLE]

DENY UPDATE ON [dbo].[TABLEName] TO [db_ROLE]

--添加角色到登录用户

EXEC sp_addrolemember N'db_ROLE', N'UserName '

SQLSERVER2000下

USE [master]

exec sp_addlogin 'UserName','PassWord','DATABASENAME'

USE DATABASENAME

--创建登录用户

exec sp_grantdbaccess N'UserName', N'UserName'

--创建角色

exec sp_addrole N'db_Role'

--创建角色权限

GRANT SELECT ON [dbo].[TableName] TO [db_Role] WITH GRANT OPTION 

DENY DELETE ON [dbo].[TableName] TO [db_Role]

DENY UPDATE ON [dbo].[TableName] TO [db_Role]

--添加角色到登录用户

exec sp_addrolemember N'db_ROLE', N'UserName'

 

USE [master]

exec sp_addlogin '用户名','密码',数据库名

USE ETC_New

--创建登录用户

exec sp_grantdbaccess '用户名'

--创建角色

exec sp_addrole '角色1‘

exec sp_addrole ’角色2‘

--添加角色到登录用户

exec sp_addrolemember 'db_owner', ’用户名'

exec sp_addrolemember 'db_datawriter', '用户名''

exec sp_addrolemember 'db_datawriter', '用户名''

exec sp_addrolemember 'db_datareader', ’用户名'

exec sp_addrolemember ’角色1‘, ’用户名'

exec sp_addrolemember ’角色2‘, ’用户名'

--创建角色权限

GRANT UPDATE ON [dbo].[PW_User] TO [角色1]

GRANT INSERT,UPDATE,SELECT ON [dbo].[SYS_ColumnDetail] TO [角色2]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: