SQL Server企业管理器和Transaction-SQL语句都可以管理SQL Server许可下面就为您分别介绍这两种管理SQL Server许可的方式,供您参考。
SQL Server可通过两种途径:即面向单一用户和面向数据库对象的许可设置,来实现对语句许可和对象许可的管理,从而实现对用户许可的设定。
(1)面向单一用户的许可设置。
展开指定的数据库,单击用户图标,开盘数据恢复,右击进行设置SQL Server许可的用户,选择“属性”,单击“权限”进行设置即可。在“数据库角色成员”中选择任何一个数据库角色实际上就完成了用户语句许可的设置。
(2)面向数据库对象的许可设置。
展开指定的数据库,选择需要设置的对象,右击该对象,选择“all tasks-管理权限”,设置相应的对象许可后,单击“确定”即可。
可以看出,对象属性对话框与前面的数据库用户属性对话框极为类似,在数据库用户属性对话框中,是为某一用户设置其对当前数据库的所有对象的访问许可,而在对象属性对话框中,是为某一数据库对象设置当前数据库所有用户对其的访问许可。
2.使用Transaction-SQL语句
transaction-SQL语句使用grant、revoke和deny三种命令来管理权限。 Grant语句用把许可授予某一用户,以允许该用户执行针对该对象的操作或允许其运行某些语句,语法形式如下:
(1)对语句的许可:
Grant {all | statement[,...n]} to security_accout[,...n]
(2)对对象的许可:
grant { {all [priviledges] | permission[,...n]}
[(column[,...n])] on {table view}
| on {table | view}[(column[,...n)]
| on {stored_procedure | extended_procedure} }
to security_account[,...n]
[as {group | role}]
其中,all参数表示具有所有的语句或对象权限。对于语句权限来说,只有sysadmin角色才具有所有的语句权限。对于对象权限来说,只有sysadmin和db_owner角色才具有访问某一数据库所有对象的权限。SQL Server许可的授权可以累加,用户可以执行授予他们的单个操作许可,以及因属于某个角色而具有的操作许可。
【编辑推荐】