sp_changeobjectowner
更改当前数据库中对象的所有者。语法
sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'
示例
下面的示例将 authors 表的所有者改为 dbo。EXEC sp_changeobjectowner 'authors', 'dbo'

解决方案 »

  1.   

    sp_changeobjectowner
    更改当前数据库中对象的所有者。语法
    sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'参数
    [@objname =] 'object'当前数据库中现有的表、视图或存储过程的名称。object 的数据类型为 nvarchar(517),没有默认值。object 可用现有对象所有者限定,格式为 existing_owner.object。[@newowner =] 'owner'即将成为对象的新所有者的安全帐户的名称。owner 的数据类型为 sysname,没有默认值。owner 必须是当前数据库中有效的 Microsoft® SQL Server™ 用户或角色或 Microsoft Windows NT® 用户或组。指定 Windows NT 用户或组时,请指定 Windows NT 用户或组在数据库中已知的名称(用 sp_grantdbaccess 添加)。
      

  2.   

    EXEC sp_changeobjectowner 'caseTable', 'dbo'执行后提示:
    服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
    对象 'caseTable' 不存在或不是对此操作有效的对象。
    这是怎么回事啊,我是在查询分析器中用sa来操作的
      

  3.   

    要带上表的当前所有者,假设原来的所有者是user1EXEC sp_changeobjectowner 'user1.caseTable', 'dbo'
      

  4.   

    1、检查caseTable是否为当前数据库中现有的表、视图或存储过程的名称
    2、caseTable写完整的  现在所有者名.表名
      

  5.   

    语法里有格式说明:sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'参数
    [@objname =] 'object'当前数据库中现有的表、视图或存储过程的名称。object 的数据类型为 nvarchar(517),没有默认值。object 可用现有对象所有者限定,格式为 existing_owner.object。