架构下面看有没有该用户存在,如果有就删除再试试在用户下面看能不能把该用户..." />
 手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >MSSQL中删除用户时数据库主体在该数据库存中拥有架构 无法删除的解决方法
MSSQL中删除用户时数据库主体在该数据库存中拥有架构 无法删除的解决方法
摘要:在mssql2005下面删除一个数据库的用户的时候提示"数据库主体在该数据库中拥有架构,无法删除"的错误解决方案1、在安全性->架构下面看有...

在ms sql2005 下面删除一个数据库的用户的时候提示 "数据库主体在该数据库中拥有架构,无法删除" 的错误解决方案

1、在 安全性 -> 架构 下面看有没有该用户存在,如果有就删除

再试试在用户下面看能不能把该用户删掉,如果不行就用下面的文法

运行下SQL语句

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;

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

因为选定的用户拥有对象,所以无法除去该用户"解决方法

复制代码 代码如下:

use 你的库名

go

declare tb cursor local

for

select 'sp_changeobjectowner '

+quotename(

+quotename(user_name(uid))

+'.'+quotename(name),'''')

+',''dbo'''

from sysobjects

where objectproperty(id,N'isusertable')=1

and uid<>user_id('dbo')

declare @s nvarchar(4000)

open tb

fetch tb into @s

while @@fetch_status=0

begin

exec(@s)

fetch tb into @s

end

close tb

deallocate tb

第三

方法一(华夏互联专业技术提示:因为涉及更改数据库存储过程,强制删除法不推荐)

首先你需要做的第一件事

企业管理器-〉选择服务器-〉属性-〉服务器设置-〉挑上允许对系统目录。。。-〉确定

第二步

找到你的数据库找到sysusers表那你以前的用户删除

第三步回去吧属***值改回来

第四部重建用户即可

方法二

对mssql出现选定的用户拥有对象而无法删除的处理

--将下面的代码在查询分析器中执行,修改修改库名

复制代码 代码如下:

use 你的库名

go

declare tb cursor local

for

select 'sp_changeobjectowner '

+quotename(

+quotename(user_name(uid))

+'.'+quotename(name),'''')

+',''dbo'''

from sysobjects

where objectproperty(id,N'isusertable')=1

and uid<>user_id('dbo')

declare @s nvarchar(4000)

open tb

fetch tb into @s

while @@fetch_status=0

begin

exec(@s)

fetch tb into @s

end

close tb

deallocate tb

MSSQL备份移植到另一服务器还原时容易遇到的问题……

MSSQL备份移植到另一服务器还原时容易遇到的问题,尤其是从虚拟主机备份回来的数据库在本机还原的问题…

会出现用SQL原来的用户名和密码无效的情况

无法删除某一个系统表

用sa连接做Select时提示表名无效

无法删除原备份数据库中的用户名,提示“因为选定的用户拥有对象,所以无法除去该用户。”

主要原因是原来的备份还原时保留了原用户的信息,导致产生孤立用户……

这时候需要用sp_changeobjectowner 将对象的所有关系更改到另一个用户上,既更改数据库对象的所有者。

格式:

sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'

例子 在查询分析器中录入:

sp_changeobjectowner 'web102101.tablename', 'dbo'

依次将所有的所属用户都改为dbo,然后现在数据库的用户中把孤立用户删除,再到安全中删除登陆信息。

并可以再依次创建新用户了

下面是一些补充:

Microsoft SQL Server错误: 15138删除对于用户失败,数据库主体在该数据库中拥有架构,无法删除。解决方法

删除 对于 用户“*****”失败。 (Microsoft.SqlServer.Smo)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=

9.00.1523.00&EvtSrc=Microsoft.SqlServer.Management.Smo.

ExceptionTemplates.FailedOperationExceptionText&EvtID=删除+User&LinkId=20476

------------------------------

其他信息:

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

数据库主体在该数据库中拥有 架构,无法删除。 (Microsoft SQL Server,错误: 15138)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.1399&EvtSrc=MSSQLServer&EvtID=15138&LinkId=20476

解决方法一

先删除此用户对应的架构,然后在删除对应的用户

步骤

1。SQL SERVER MANAGEMENT STUDIO--》数据库--》安全性--》构架,先删除对应的构架

2。SQL SERVER MANAGEMENT STUDIO--》数据库--》安全性--》用户,删除对应的用户

解决方法二

--执行如下SQL语句

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;

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

【MSSQL中删除用户时数据库主体在该数据库存中拥有架构 无法删除的解决方法】相关文章:

除MSSQL数据库text字段中恶意脚本的删方法

SQL SERVER 2008 无法附加数据库的解决方法

SQL Server 2008 备份数据库、还原数据库的方法

SQL Server 2005 Management Studio Express企业管理器将英文变成简体中文版的实现方法

Sql Server 数据库索引整理语句,自动整理数据库索引

删除SQL数据库中事务日志方法

sql Server 2008 R2还原或删除数据库时总是出错的解决方法

SQLServer2005 没有服务器名称的两种解决方法

SQLServer无法打开用户默认数据库 登录失败错误4064的解决方法

SQLServer 数据库中如何保持数据一致性

精品推荐
分类导航