Sybase数据库所有用户表授权给到指定用户的办法
应用场景:sybase数据库从服务器备份出来后还原到本地开发机电脑,发现登录账号sa拥有数据库所有表的对象权限,但是没有用户表的查询,修改,删除等权限,所以需要重新授权。
示例说明:设定默认数据库登录账号sa密码为123456,操作的数据库名为JScms,登录账号sa对应的JScms中的用户名为dbo,用户组为public,角色为sa_role.所以批量授权脚本可以给到用户、组、角色。本例中授权给到public组。
操作步骤:
1、开始-运行-打开DOS操作界面
2、登录SYBASE数据库并切换到指定数据库:
C:\Users\Administrator>isql -Usa -P123456
1> use JScms
2> go
3、生成批量授权脚本
1> select 'grant select,insert,delete,update on ' + name +' to public' from sysobjects where type ='U' order by name
2> go
4、批量授权脚本处理
重复两次使用鼠标右键点击全选菜单,然后使用Ctrl+V操作复制DOS窗口中的文字到记事本中
处理一下记事本中的脚本,在每个授权语句中间加上一行go
5、复制处理的脚本到DOS窗口中并执行
6、检验授权结果