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
--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 [用户名]