程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> MSSQL中刪除用戶時數據庫主體在該數據庫存中具有架構 沒法刪除的處理辦法

MSSQL中刪除用戶時數據庫主體在該數據庫存中具有架構 沒法刪除的處理辦法

編輯:MSSQL

MSSQL中刪除用戶時數據庫主體在該數據庫存中具有架構 沒法刪除的處理辦法。本站提示廣大學習愛好者:(MSSQL中刪除用戶時數據庫主體在該數據庫存中具有架構 沒法刪除的處理辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是MSSQL中刪除用戶時數據庫主體在該數據庫存中具有架構 沒法刪除的處理辦法正文


在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;
--然背工動刪除便可以了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved