某用户下所有表还原的问题
问题一:
我在一个数据库里用user1建立了一些表,这些表的所有者是user1,还有些存储过程、函数什么的,
然后备份该数据库,
然后将这个备份文件拷到别的机器上,
新建立一个库,然后还原这个备份,
由于我必须用类似select * from user1.tbl1的语法才能访问这个用户的表,
所以我在在登陆里建立user1这个用户,给他dbowner权限的时候就不能创建,因为该用户已经在还原的库中存在,
然后我到那个库中想把用户删除,但是由于有对象关联着该用户,所以是删除不掉的,
于是我只能先利用某些方法把这些表的所有者先给某个别的用户,然后删除该用户,然后重新给他dbowner的权限,然后重新建立,
难道只能这么做么?没别的办法了么?
多用户管理库难道这么麻烦么?
问题二:
我在数据里有些procedure、function、view里访问某些表没加上表的所有者,
现在我想批量的把这些对象都加上所有者,编写了一些东西,但是
类似
execute ('select tbl1_1.fld1 from tbl1 tbl1_1')
这样的语句还是被我用某些方法替换成了
execute ('select user1.tbl1_1.fld1 from user1.tbl1 user1.tbl1_1')
(我是根据sysobjects批量弄的),由于tbl1_1是别名,但其中的前4个字段是系统的对象(表),所以被我替换成了user1.tbl1_1,这就错了,
哎,有啥好办法呢?
分不够再加,百分感谢!