sql server 修改所有者
问题:数据库里的每个表都属于某个用户,即:所有者。修改所有者有如下两种:
- 批量修改:EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '
- 单个修改:exec sp_changeobjectowner '要改的表名','dbo'
注意:只有所有者才能更改表的所有者。登陆“系统管理员” 可修改,但数据库要先开启系统管理员用户。>>开通方法
对于单个修改。但,有的服务器会提示如下:
消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'user' 不存在或不是对此操作有效的对象。
对象 'user' 不存在或不是对此操作有效的对象。
修改为:exec sp_changeobjectowner '表所有者.要改的表名','dbo' 就不需表的所有者才能修改了
例如:exec sp_changeobjectowner 'chinabm.course_type1','dbo'
待续:对于批量修改,没试过,不知道会有什么问题。