很多时候,我们都会用sa新建数据库和表,然后新建用户(这里就叫user1吧),让新建用户去管理新建的库。在sybase里,sa可以授权user1去新建表,但是user1是不能修改sa创建的表的,就是dbo开头的表。user1只能修改自己创建的表。如果user1修改dbo的表的时候,就会出现错误提示。
要修改表结构,只能有两种方法,1、把user1的服务角色里加入sa_role的角色。2、将owner设置成user1,命令是sp_changedbowner 'user1' ture。这样的话,sa可以操作这个数据库,user1也可以建表和修改表。正常情况下,我们都会选用第二种方法,因为一个数据库服务里一般有多个数据库,某个系统管理员只是负责其中一个数据库,sa的角色对于开发公司的人来说太高了,如果不是数据库服务管理员,禁止赋予sybase服务角色的权限的。