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

解决方案 »

  1.   

    新建用户并授权新建帐户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
      

  2.   

    ---如果还要添加角色db_owner,  那么
     
    USE test;
    exec sp_addrolemember 'db_owner', 'test'
    go这个就不用了 如果执行了这句前面的没用啦
      

  3.   


    --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_usergrant select on 表2 to your_user
      

  4.   


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

  5.   

    服务器级别给public,数据库级别给db_datareader