主頁 > 知識庫 > MSSQL中刪除用戶時數(shù)據(jù)庫主體在該數(shù)據(jù)庫存中擁有架構(gòu) 無法刪除的解決方法

MSSQL中刪除用戶時數(shù)據(jù)庫主體在該數(shù)據(jù)庫存中擁有架構(gòu) 無法刪除的解決方法

熱門標(biāo)簽:安陽天音防封電銷卡 智能外呼系統(tǒng)需要多少錢 智能語音車載電話機(jī)器人 外呼系統(tǒng)的話術(shù) 競圣地圖標(biāo)注服務(wù) 云南全自動外呼系統(tǒng)公司 陽光創(chuàng)信ai外呼獲客系統(tǒng)助力 貴州外呼回?fù)芟到y(tǒng)是什么 衛(wèi)星地圖標(biāo)注距離

在ms sql2005 下面刪除一個數(shù)據(jù)庫的用戶的時候提示 "數(shù)據(jù)庫主體在該數(shù)據(jù)庫中擁有架構(gòu),無法刪除" 的錯誤解決方案
1、在 安全性 -> 架構(gòu) 下面看有沒有該用戶存在,如果有就刪除
再試試在用戶下面看能不能把該用戶刪掉,如果不行就用下面的文法
運(yùn)行下SQL語句
ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;

--然后手動刪除就可以了。
因?yàn)檫x定的用戶擁有對象,所以無法除去該用戶"解決方法

復(fù)制代碼 代碼如下:

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

第三

方法一(華夏互聯(lián)專業(yè)技術(shù)提示:因?yàn)樯婕案臄?shù)據(jù)庫存儲過程,強(qiáng)制刪除法不推薦)
首先你需要做的第一件事
企業(yè)管理器-〉選擇服務(wù)器-〉屬性-〉服務(wù)器設(shè)置-〉挑上允許對系統(tǒng)目錄。。。-〉確定
第二步
找到你的數(shù)據(jù)庫找到sysusers表那你以前的用戶刪除
第三步回去吧屬***值改回來
第四部重建用戶即可

方法二

對mssql出現(xiàn)選定的用戶擁有對象而無法刪除的處理

--將下面的代碼在查詢分析器中執(zhí)行,修改修改庫名

復(fù)制代碼 代碼如下:

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備份移植到另一服務(wù)器還原時容易遇到的問題……
MSSQL備份移植到另一服務(wù)器還原時容易遇到的問題,尤其是從虛擬主機(jī)備份回來的數(shù)據(jù)庫在本機(jī)還原的問題…

會出現(xiàn)用SQL原來的用戶名和密碼無效的情況
無法刪除某一個系統(tǒng)表
用sa連接做Select時提示表名無效
無法刪除原備份數(shù)據(jù)庫中的用戶名,提示“因?yàn)檫x定的用戶擁有對象,所以無法除去該用戶?!?br /> 主要原因是原來的備份還原時保留了原用戶的信息,導(dǎo)致產(chǎn)生孤立用戶……

這時候需要用sp_changeobjectowner 將對象的所有關(guān)系更改到另一個用戶上,既更改數(shù)據(jù)庫對象的所有者。

格式:

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

例子 在查詢分析器中錄入:

sp_changeobjectowner 'web102101.tablename', 'dbo'
依次將所有的所屬用戶都改為dbo,然后現(xiàn)在數(shù)據(jù)庫的用戶中把孤立用戶刪除,再到安全中刪除登陸信息。

并可以再依次創(chuàng)建新用戶了

下面是一些補(bǔ)充:

Microsoft SQL Server錯誤: 15138刪除對于用戶失敗,數(shù)據(jù)庫主體在該數(shù)據(jù)庫中擁有架構(gòu),無法刪除。解決方法
刪除 對于 用戶“*****”失敗。 (Microsoft.SqlServer.Smo)

有關(guān)幫助信息,請單擊: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+ServerProdVer=

9.00.1523.00EvtSrc=Microsoft.SqlServer.Management.Smo.

ExceptionTemplates.FailedOperationExceptionTextEvtID=刪除+UserLinkId=20476

------------------------------
其他信息:

執(zhí)行 Transact-SQL 語句或批處理時發(fā)生了異常。 (Microsoft.SqlServer.ConnectionInfo)

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

數(shù)據(jù)庫主體在該數(shù)據(jù)庫中擁有 架構(gòu),無法刪除。 (Microsoft SQL Server,錯誤: 15138)

有關(guān)幫助信息,請單擊: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+ServerProdVer=09.00.1399EvtSrc=MSSQLServerEvtID=15138LinkId=20476



解決方法一

先刪除此用戶對應(yīng)的架構(gòu),然后在刪除對應(yīng)的用戶
步驟
1。SQL SERVER MANAGEMENT STUDIO--》數(shù)據(jù)庫--》安全性--》構(gòu)架,先刪除對應(yīng)的構(gòu)架
2。SQL SERVER MANAGEMENT STUDIO--》數(shù)據(jù)庫--》安全性--》用戶,刪除對應(yīng)的用戶


解決方法二


--執(zhí)行如下SQL語句

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
--然后手動刪除就可以了。

標(biāo)簽:河源 預(yù)約服務(wù) 寧夏 欽州 湘潭 周口 營口 鄂爾多斯

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MSSQL中刪除用戶時數(shù)據(jù)庫主體在該數(shù)據(jù)庫存中擁有架構(gòu) 無法刪除的解決方法》,本文關(guān)鍵詞  MSSQL,中,刪除,用戶,時,數(shù)據(jù)庫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MSSQL中刪除用戶時數(shù)據(jù)庫主體在該數(shù)據(jù)庫存中擁有架構(gòu) 無法刪除的解決方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于MSSQL中刪除用戶時數(shù)據(jù)庫主體在該數(shù)據(jù)庫存中擁有架構(gòu) 無法刪除的解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章