个人在开发中,整理出来,已试过,可以用!

SQL Server2005可以使用系统存储过程sp_changeobjectowner更改数据库对象所有者。

一.单个修改

sp_changeobjectowner '对象名(包括架构名)','新架构名'
如:sp_changeobjectowner 'text.userdr','dbo'

把表userdr的所有者text改成所有者dbo

二.多个修改(批量修改)

--// 新建查询运行(此方法可以)

declare @name sysname

declare csr1 cursor

for select TABLE_NAME from INFORMATION_SCHEMA.TABLES

open csr1

FETCH NEXT FROM csr1 INTO @name

while (@@FETCH_STATUS=0)

BEGIN

SET @name='旧架构名.'+@name

EXEC SP_ChangeObjectOwner @name, '新架构名'

fetch next from csr1 into @name

END

CLOSE csr1

DEALLOCATE csr1

--// 新建存储过程

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[ChangeObjectOwner]
@OldOwner as NVARCHAR(128),--参数原所有者
@NewOwner as NVARCHAR(128)--参数新所有者
AS

DECLARE @Name   as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)

DECLARE curObject CURSOR FOR
select 'Name'   = name,
'Owner'   = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by name

OPEN curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN  
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner + '.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
end

FETCH NEXT FROM curObject INTO @Name, @Owner
END

close curObject
deallocate curObject

转载于:https://www.cnblogs.com/xingyuan13/archive/2012/04/13/2444076.html

更改数据库对象所有者相关推荐

  1. ARX帮助文档:数据库对象

    2019独角兽企业重金招聘Python工程师标准>>> 英语比较烂,借着翻译帮助文档,一边学习英语,一边加强专业知识,有翻译的不妥的地方,欢迎评论区指正,谢谢各位看官赏脸 arxde ...

  2. 更改当前数据库的所有者

    sp_changedbowner 更改当前数据库的所有者. 语法 sp_changedbowner   [   @loginame   =   ]   'login'         [   ,   ...

  3. Oracle数据库对象,同义词、序列、视图、索引

    数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提 ...

  4. Oracle事务和常用数据库对象

    1.事务:有一组命令组成的逻辑单元,保证所有操作要么全部成功要么全部失败. 以下情况事务结束:1)显式提交(commit) 2)显式回滚(rollback) 3)ddl语句隐身提交 4)正常结束程序提 ...

  5. oracle 伪列访问序列,Oracle数据库对象,同义词、序列、视图、索引

    数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提 ...

  6. 修改MS SQL2000数据库的所有者,很实用

    修改MS SQL2000数据库的所有者,很实用 2008-10-08 09:04 有些时候,一个数据库的管理员,需要将几个不同的数据库内的数据合并到一起,如果几个数据库的结构基本相同,只需新建一个数据 ...

  7. 编写SQL Server数据库对象脚本的方法

    In this article, we will explore various ways for scripting SQL Server database objects. 在本文中,我们将探索编 ...

  8. IBM DB2 学习笔记:关系模型、基本概念、数据库实例基本操作、数据库对象

    文章目录 1. 关系数据模型 1.1 什么是数据? 1.2 为什么使用数据库? 1.3 数据库管理系统(DBMS) 1.4 数据模型 1.5 关系数据模型 1.6 关系数据库 1.6.1 表 1.6. ...

  9. [转载]使用JDBC创建数据库对象

    使用JDBC创建数据库对象 摘要 本文分析了Java DataBase Connectivity (JDBC),一个在 Java 中以面向对象的方法来连接数据库的技术.它是对 ODBC API 进行的 ...

最新文章

  1. [Quick-x]制作新手引导高亮区域方法之二:裁剪模式
  2. DEAP:使用生理信号进行情绪分析的数据库(一、背景介绍与刺激选择)
  3. 课程上线 -“新手入门 : Windows Phone 8.1 开发”
  4. Linux中磁盘还有空间,但创建文件时提示空间不足
  5. 338. Counting Bits(动态规划)
  6. 容器编排技术 -- Kubernetes Replica Sets
  7. 外设键盘_记得那个被称为‘顶级外设’的国产品牌吗,现在推出这样一把键盘...
  8. 这些超好用的 Mac 系统自带软件,来试试
  9. python中进制转换函数_Python内置函数进制转换的用法
  10. mariadb 存储引擎mysql_MySQL/MariaDB---查询缓存与存储引擎
  11. python读取txt文件数据并存到list中
  12. mysql及格率70以上_数据库实例(统计最高分学生信息,不及格率等等)
  13. 迅投QMT量化交易系统介绍
  14. 解决easyui-tabs 适应ie窗口大小显示不全的问题
  15. 缩减50%调试成本  小匠物联推可远程的串口调试助手
  16. 镜像构建工具SOURCE TO IMAGE(S2I)实践
  17. 如何查看计算机是否新装了硬盘,如何查看笔记本电脑换固态硬盘 判断笔记本电脑是否可换固态硬盘的技巧...
  18. 2048游戏英雄榜java_2048游戏攻略 2048分数排行榜详解
  19. word怎么去除回车标记
  20. Python开发mysql和mongo 连接类

热门文章

  1. 用PHP开发命令行工具
  2. python爬虫自学网站_Python爬虫3步曲:5分钟学习用Python解析网页
  3. Tungsten Fabric SDN — 与 Bare Metal 的集成架构
  4. 计算机组成原理 — ARM 体系结构
  5. Devstack 配置文件说明手册
  6. vue-cli3.0控制台体验
  7. 扩展资源服务器解决oauth2 性能瓶颈
  8. React Native填坑之旅 -- 回归小插曲
  9. 【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity
  10. 关于锁机制:数据库锁