修改sqlserver数据库所有者
类别:数据库 浏览量:428
时间:2015-3-21 修改sqlserver数据库所有者
修改sqlserver数据库所有者一、单个表修改
exec sp_changeobjectowner '要改的表名','dbo'
例如
use test;
go
exec sp_changeobjectowner '[db_owner].[T1]','dbo';
二、批量修改数据库对象的所有者
如果一个数据库里面的表对象非常多,那么使用该方法就非常的繁琐了。此时就可以使用sp_MSforeachtable来批量处理该工作。
方法
use test;
go
exec sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '
但是使用sp_MSforeachtable结合系统存储过程sp_changeobjectowner,只能修改数据库里面所有表对象的所有者(owner)。并不能修改视图、存储过程、用户函数的所有者。
三、批量修改存储过程、视图、用户自定义函数的所有者
方法
declare tb cursor local for
select 'sp_changeobjectowner ''['+replace(user_name(uid),']',']]')+'].['
+replace(name,']',']]')+']'',''dbo'''
from sysobjects
where xtype in('U','V','P','TR','FN','IF','TF') and status>=0
open tb
declare @s nvarchar(4000)
fetch tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch tb into @s
end
close tb
deallocate tb
go
四、使用ALTER SCHEMA修改数据库对象的所有者
例如
ALTER SCHEMA dbo TRANSFER db_owner.T1;
五、使用sp_changeobjectowner需要注意的地方
在使用系统函数sp_changeobjectowner时,你都会收到一条提示信息“注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。”,这个是因为系统函数sp_changeobjectowner虽然会修改数据库对象的所有者,但是,在视图、存储过程、用户自定义函数里面,如果你使用了owner.object_name这种写法,系统函数并不能检测到。所以当数据库对象修改过后,就有可能导致部分视图、存储过程出现错误
标签:SQL Server
您可能感兴趣
- centos中安装sql图(CentOS 7.3上SQL Server vNext CTP 1.2安装教程)
- SQL Server遍历表中记录的方法
- sql server日志文件过大怎么办
- sql server2008脚本执行(在Sql Server中调用外部EXE执行程序引发的问题)
- sqlserver2012登录出现报错18456(SQL Server 2012 sa用户登录错误18456的解决方法)
- 将SQL Server数据迁移到MySQL的常见工具
- sqlserver游标使用场景(解析SQL Server聚焦移除Bookmark Lookup、RID Lookup、Key Lookup)
- sqlserver使用说明(SQL Server视图的讲解)
- sqlserver判断条件输出字符(SQL Server查询条件IN中能否使用变量的示例详解)
- sql server导入数据csv文件(大容量csv快速内导入sqlserver的解决方法推荐)
- sqlserver常见函数(SQL Server之JSON 函数详解)
- SQL语句查询SQL SERVER作业的调度信息
- sql server中使用xp_readerrorlog查看错误日志
- sqlserver字符串截取填充(SQL Server实现split函数分割字符串功能及用法示例)
- sqlserver新建连接服务器卡住(SQL Server成功与服务器建立连接但是在登录过程中发生错误的快速解决方案)
- sqlserver分表后如何查询(SQL Server中row_number分页查询的用法详解)
- 书法欣赏 宋.志南诗《绝句》(宋.志南诗绝句)
- 每周一首古诗 《绝句》(每周一首古诗绝句)
- 蓝色代表什么(蓝色代表什么性格的人)
- 红色代表什么(红色代表什么情感和含义)
- 南宋志南和尚绝句 杨柳风似庙中来(南宋志南和尚绝句)
- 今天要穿什么颜色(今天要穿什么颜色的衣服最吉利)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9