SQL Server权限设置

常用的几个系统表:(其实是View)

sysdatabases,主数据库,服务器上的数据库

sysobjects,每个数据库,所有数据库对象

syscolumns,每个数据库,列

sysprocesses,主数据库,进程

syspermissions,每个数据库,权限

sysusers,每个数据库,用户

syscharsets,主数据库,字符集与排序顺序

sysaltfiles, 主数据库,保存数据库的文件

syslanguages, 主数据库,语言

参考:http://www.cr173.com/html/19592_1.html 

 

为数据库server上的某个数据库添加一个query id,并在table和view上增加相应的访问权限。

1. 先用admin id登录进SQL Server,然后在Sercuritys --> Logins --> 右键 New Login

  选择sql server身份验证,设置密码,(注意:不勾选强制实施密码策略,下面的default database也不要选择)

2. 选择需要增加query id的目标数据库,在Sercurity下面 --> Users --> 右键 new user,添加刚刚新建的login user.

3. 接下来关闭admin的登录,用第一步新的login user登录,看是否能够登录成功。

4. 如果可以登录成功,先退出;还是用admin登录,执行相应的赋权限的sql语句。

 

相应语句:

给newQueryId设置可以查询的权限,只有执行了这句,用newQueryId登录进sql server, 才可以看到对应的table或者view
  grant select on tableName/viewName to newQueryId

给newQueryId设置可以查看定义语句的权限
  grant view definition on viewName/storedProcedureName to newQueryId

上面两句也可以合并成一句:
  grant select, view definition on viewName/storedProcedureName to newQueryId


取消在column1,column2...上的select权限,该newQueryId就不能查询这些列
  revoke select on tableName/viewName(column1, column2, ...) to newQueryId

 

posted @ 2017-05-08 19:49  无涯的风  阅读(1544)  评论(0编辑  收藏  举报