修改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
您可能感兴趣
- sql server中的死锁
- sql server导入数据csv文件(大容量csv快速内导入sqlserver的解决方法推荐)
- sqlserver维护计划保存在哪(SQL Server误设置max server memory的处理方法)
- sqlserver 高级查询(利用 SQL Server 过滤索引提高查询语句的性能分析)
- sqlserver备份数据库语句(SQL SERVER 数据库备份的三种策略及语句)
- SQL Server中@@ROWCOUNT的用法
- sqlserver存储过程使用变量(浅析SQL Server的嵌套存储过程中使用同名的临时表怪像)
- sql server 字符串处理(SQL Server中利用正则表达式替换字符串的方法)
- sql server2005如何配置(SQLServer2005创建定时作业任务)
- sqlserver索引介绍(浅析SQL Server的聚焦使用索引和查询执行计划)
- sql server支持两种登录验证方式(远程登陆SQL Server 2014数据库的方法)
- sqlserver数据库如何分页(SQL server分页的4种方法示例很全面)
- sqlserver 多实例怎么算许可(SQL Server使用row_number分页的实现方法)
- sql server 2008 触发器(关于喜忧参半的SQL Server触发器详解)
- sqlserver 查询数据库增长设置(SQL设置SQL Server最大连接数及查询语句)
- sqlserver分页查询sql语句(sql server实现分页的方法实例分析)
- 省委书记出席的交流会,十位县委书记同场发言,代表公文材料的高水平(省委书记出席的交流会)
- 《刘老根3》热播,去世15年的她却再次被 伤害(去世15年的她却再次被)
- 十二星座爱情支配欲指数(十二星座爱情支配欲指数)
- 虐待儿童是发泄支配欲的愚蠢行为(虐待儿童是发泄支配欲的愚蠢行为)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
- 把宽体丰田86卖了,换成7.5代高尔夫GTI玩起姿态与性能并存的改装(把宽体丰田86卖了)
热门推荐
- nginx为什么要配置https(Nginx配置Https安全认证的实现)
- python里range循环(Python for循环与range函数的使用详解)
- 云主机的优势是什么(云主机有哪些用途和优势)
- ASP.NET身份验证方式
- pythonnumpy求行列式的值(Python numpy中矩阵的基本用法汇总)
- thinkphp从模板自定义标签(Thinkphp5.0框架视图view的循环标签用法示例)
- python使用门算法加密文件(python实现可逆简单的加密算法)
- 微信小程序canvas缩放(微信小程序之html5 canvas绘图并保存到系统相册)
- Sql Server 更新锁(UPDLOCK)
- 如何采集nginx的日志(Filebeat 采集 Nginx 日志的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9