修改表的所有者.高手请进
请问sysarticles在哪个数据库中怎么修改其内容!!!
我想将数据库表的所有者全部改为dbo,请教除了修改上面的表外还有什么好办法.
由于表中的数据量太大,生成脚本,修改所有者后重建不现实.
高手请赐教
推荐阅读
改所有表的所有者为dbo:
exec sp_msforeachtable exec sp_changeobjectowner ?,dbo
transact-sql 参考
sp_changedbowner
更改当前数据库的所有者。
语法
sp_changedbowner [ @loginame = ] login
[ , [ @map = ] remap_alias_flag ]
参数
[@loginame =] login
当前数据库新所有者的登录 id。login 的数据类型为 sysname,没有默认值。login 必须是已存在的 microsoft® sql server™ 登录或 microsoft windows nt® 用户。如果 login 通过当前数据库内的现有别名或用户安全帐户已拥有访问该数据库的权限,则不能成为该数据库的所有者。为了避免这种情况,应先除去当前数据库中的别名或用户。
[@map =] remap_alias_flag
值为 true 或 false,表示旧数据库所有者 (dbo) 的现有别名是映射到当前数据库的新所有者还是要除去。remap_alias_flag 的数据类型为 varchar(5),默认值为 null,表示旧 dbo 的任何现有别名均映射到当前数据库的新所有者。false 表示除去旧数据库所有者的现有别名。
返回代码值
0或 1
注释
执行 sp_changedbowner 之后,新所有者称为数据库中的 dbo 用户。dbo 拥有执行数据库中所有活动的暗示性权限。
不能更改 master、model 或 tempdb 系统数据库的所有者。
若要显示有效 login 值的列表,请执行 sp_helplogins 存储过程。
执行只有 login 参数的 sp_changedbowner 会将数据库所有权改为 login,并将先前别名为 dbo 的用户别名映射到新数据库所有者。
权限
只有 sysadmin 固定服务器角色成员的成员或当前数据库的所有者才能执行 sp_changedbowner。
示例
下面的示例使用户 albert 成为当前数据库的所有者,并将旧数据库所有者的现有别名映射到 albert。
exec sp_changedbowner albert
请参见
create database
sp_dropalias
sp_dropuser
sp_helpdb
sp_helplogins
系统存储过程
©1988-2000 microsoft corporation。保留所有权利。


讨论区