读书人

sql2005用户权限有关问题

发布时间: 2013-10-22 16:16:51 作者: rapoo

sql2005用户权限问题
新建一个用户,要求这个用户只有某个指定数据库的多个表的查询权限,只能select这个数据库下面的多个表,不能
对这些表里面的数据进行修改或者删除,也不能有其他的管理权限,只有查询,该怎么设置?
[解决办法]

新建用户并授权

新建帐户appuser,密码为163.com,并允许该用户对appdb数据库的test表有select,insert,update权限,那么依次执行
exec sp_addlogin 'appuser','163.com','TEST'
go

use TEST
exec sp_grantdbaccess 'appuser'
go

use TEST
grant select
on test
to appuser
go



---如果还要添加角色db_owner, 那么

USE test;
exec sp_addrolemember 'db_owner', 'test'
go

[解决办法]
引用:
新建用户并授权

新建帐户appuser,密码为163.com,并允许该用户对appdb数据库的test表有select,insert,update权限,那么依次执行
exec sp_addlogin 'appuser','163.com','TEST'
go

use TEST
exec sp_grantdbaccess 'appuser'
go

use TEST
grant select
on test
to appuser
go



---如果还要添加角色db_owner, 那么

USE test;
exec sp_addrolemember 'db_owner', 'test'
go

---如果还要添加角色db_owner, 那么

USE test;
exec sp_addrolemember 'db_owner', 'test'
go

这个就不用了 如果执行了这句前面的没用啦
[解决办法]

--drop login ggg


--创建登录名
create login ggg
with password = '123', --在第一次登录时会提示修改密码

check_expiration = off, --不对sql登录名强制实施密码过期策略
check_policy = off --不把Windows密码策略应用到sql登录名上


use 限制访问的数据库
go

--创建数据库用户
create user your_user
for login ggg --把数据库用户名挂到登录名上

grant select on 表1 to your_user

grant select on 表2 to your_user

[解决办法]

-- 打开master数据库
use master

-- 建立登录名
create login [登录名]
with password=N'[密码]',
default_database=[默认数据库名],
check_expiration=off,
check_policy=off

-- 打开默认数据库
use [默认数据库名]

-- 建立数据库用户,映射登录名.
create user [用户名] for login [登录名]

-- 授予表查询权限给用户
grant select on [表名] to [用户名]

读书人网 >SQL Server

热点推荐