SQL还原数据库后孤立用户问题处理

来源:计算机等级考试    发布时间:2012-08-27    计算机等级考试视频    评论

SQL2005删除用户的时候,产生“数据库主体在该数据库中拥有架构,无法删除”的解决办法

--执行如下SQL语句

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;

--然后手动删除就可以了。

[导入]sql2000备份的数据库还原到sql2005后,选择“数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象"的解决方法

sql2000备份的数据库还原到sql2005后,选择“数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或 ALTER AUTHORIZATION 语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。

解决方法如下:

1、设置兼容级别为90(2005为90)

USE [master]

GO

EXEC dbo.sp_dbcmptlevel @dbname='数据库名', @new_cmptlevel=90

GO

或是选责你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90) 然后确定,

这时,你在该数据库下展开“数据库关系图”节点时会有个提示,"此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。

2、通过以上的方法操作,如果问题依然存在的话,按下列方法继续

选择你的数据库,然后选择"安全性"->"用户",选择dbo,打开属性页,如登录名为空的话,新建查询,然后

use [你的数据库名]

EXEC sp_changedbowner 'sa'

执行成功后,你再选择"数据库关系图"节点,时提示 “此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。 就可以看到原先建的关系图了。

从服务器上作导入导出至本地机上,数据库中的表都在,可是表名前段的架构身份不是“dbo”了,而是服务器上数据库的“库名”。这样架构身份不同了,程序运行就出问题了。试过单个修改表,在sql2005的属性窗口可以更改架构者,可是N多表哪儿能手动改得过来呀!还请高手指点批量更改的方法。在此谢过。

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

sp_changeobjectowner '对象名(包括架构名)','新架构名'

批量修改请用:

方法一:使用游标

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

方法二:使用系统存储过程sp_MSforeachtable

EXEC sp_MSforeachtable @command1="EXEC SP_ChangeObjectOwner '?','新架构名'"

在sql server 2005数据库中更改数据架构

在数据库testDB中存在架构A及用户A,现将testDB数据库所属的用户由A改为B,同时删除用户A;架构也由A改为B,删除架构A,操作如下:

1、创建用户B,再创建架构B;

2、将架构A的权限赋给用户B,取消用户A拥有架构A的权限,删除用户A;

3、将数据库的所有属于架构A的对象改为架构B,代码如下:

ALTER SCHEMA [新架构名] TRANSFER 旧架构名.[数据库中的对象表或视图或存储过程]

ALTER SCHEMA [B] TRANSFER A.[对象1]

ALTER SCHEMA [B] TRANSFER A.[对象2]

ALTER SCHEMA [B] TRANSFER A.[对象n]

  编辑特别推荐:

  MySQL数据库与表的最基本命令大盘点

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答