<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="SQLServer修改表、视图、存储过程、触发器、自定义函数的所有者(MSSQL)" id="card1">
<p> 游客</p><p>
标题:SQLServer修改表、视图、存储过程、触发器、自定义函数的所有者(MSSQL)<br/>
正文:<br/>
批量修改：EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '单个修改：exec sp_changeobjectowner '要改的表名','dbo'只有所有者才能更改表的所有者有很服务器:   消息   15001，级别   16，状态   1，过程   sp_changeobjectowner，行   38     对象   'user'   不存在或不是对此操作有效的对象。   多表是导入的 一些所有者的密码都不记得就会产生觉得是不是没有原来的所有者 我加了一下 嘿嘿 正常！exec sp_changeobjectowner '表所有者.要改的表名','dbo'就不需表的所有者才能修改了如图： 补充：--执行这个语句,就可以把当前库的所有表的所有者改为dboexec sp_msforeachtable 'sp_changeobjectowner ''?'', ''dbo'''--如果是要用户表/存储过程/视图/触发器/自定义函数一齐改,则用游标(不要理会错误提示)declare tb cursor local forselect 'sp_changeobjectowner ''['+replace(user_name(uid),']',']]')+'].['+replace(name,']',']]')+']'',''dbo'''from sysobjects where xtype in('U','V','P','TR','FN','IF','TF') and status&amp;gt;=0open tbdeclare @s nvarchar(4000)fetch tb into @swhile @@fetch_status=0beginexec(@s)fetch tb into @sendclose tbdeallocate tbgo1. sp_changeobjectowner更改当前数据库中对象的所有者。语法sp_changeobjec<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=952&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=952&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=952&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=952&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=952&amp;Page=3">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=952">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=952">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>