MSSQL中刪除用戶時數(shù)據(jù)庫主體在該數(shù)據(jù)庫存中擁有架構(gòu) 無法刪除的解決方法
在ms sql2005 下面刪除一個數(shù)據(jù)庫的用戶的時候提示 "數(shù)據(jù)庫主體在該數(shù)據(jù)庫中擁有架構(gòu),無法刪除" 的錯誤解決方案
1、在 安全性 -> 架構(gòu) 下面看有沒有該用戶存在,如果有就刪除
再試試在用戶下面看能不能把該用戶刪掉,如果不行就用下面的文法
運行下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
第三
方法一(華夏互聯(lián)專業(yè)技術(shù)提示:因為涉及更改數(shù)據(jù)庫存儲過程,強制刪除法不推薦)
首先你需要做的第一件事
企業(yè)管理器-〉選擇服務(wù)器-〉屬性-〉服務(wù)器設(shè)置-〉挑上允許對系統(tǒng)目錄。。。-〉確定
第二步
找到你的數(shù)據(jù)庫找到sysusers表那你以前的用戶刪除
第三步回去吧屬***值改回來
第四部重建用戶即可
方法二
對mssql出現(xiàn)選定的用戶擁有對象而無法刪除的處理
--將下面的代碼在查詢分析器中執(zhí)行,修改修改庫名
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ù)器還原時容易遇到的問題,尤其是從虛擬主機備份回來的數(shù)據(jù)庫在本機還原的問題…
會出現(xiàn)用SQL原來的用戶名和密碼無效的情況
無法刪除某一個系統(tǒng)表
用sa連接做Select時提示表名無效
無法刪除原備份數(shù)據(jù)庫中的用戶名,提示“因為選定的用戶擁有對象,所以無法除去該用戶。”
主要原因是原來的備份還原時保留了原用戶的信息,導(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)建新用戶了
下面是一些補充:
Microsoft SQL Server錯誤: 15138刪除對于用戶失敗,數(shù)據(jù)庫主體在該數(shù)據(jù)庫中擁有架構(gòu),無法刪除。解決方法
刪除 對于 用戶“*****”失敗。 (Microsoft.SqlServer.Smo)
有關(guān)幫助信息,請單擊: 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
------------------------------
其他信息:
執(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+Server&ProdVer=09.00.1399&EvtSrc=MSSQLServer&EvtID=15138&LinkId=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;
--然后手動刪除就可以了。
相關(guān)文章
SQL Server查詢數(shù)據(jù)庫中表使用空間信息實現(xiàn)腳本
這篇文章主要介紹了SQL Server查詢數(shù)據(jù)庫中表使用空間信息實現(xiàn)腳本,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-07-07解析關(guān)于SQL語句Count的一點細節(jié)
本篇文章是對關(guān)于SQL語句Count的一點細節(jié)進行了詳細的分析介紹,需要的朋友參考下2013-06-06SQL Server并行操作優(yōu)化避免并行操作被抑制而影響SQL的執(zhí)行效率
這篇文章主要介紹了SQL Server并行操作優(yōu)化避免并行操作被抑制而影響SQL的執(zhí)行效率 的相關(guān)資料,需要的朋友可以參考下2016-07-07sql2005 create file遇到操作系統(tǒng)錯誤5拒絕訪問 錯誤1802
嘗試打開或創(chuàng)建物理文件 'E:\Library.mdf' 時,CREATE FILE 遇到操作系統(tǒng)錯誤 5(拒絕訪問。)。2009-08-08SQL?Server?2022?AlwaysOn新特性之包含可用性組詳解
這篇文章主要介紹了SQL?Server?2022?AlwaysOn新特性之包含可用性組介紹,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04淺析SQL Server的聚焦使用索引和查詢執(zhí)行計劃
本文通過介紹默認使用索引、強制使用聚集索引、強制使用非聚集索引讓我們知道對于檢索所有列結(jié)果集使用主鍵的聚集索引是最佳選擇。有興趣的朋友可以看下2016-12-12卸載VS2011 Developer Preview后Sql Server2008 R2建立數(shù)據(jù)庫關(guān)系圖報“找不到指定的
話說上回我為了嘗嘗螃蟹的味道而裝了 VS2011 Developer Preview,但是裝完后立馬卸載掉了,原因是這家伙的安裝目錄位置沒用,我設(shè)置到D盤的但是裝完后D盤的文件夾只有一百多M,而足足8G+的空間是在C盤上消耗的。2011-11-11SQLServer中數(shù)據(jù)庫文件的存放方式,文件和文件組
上次我關(guān)于索引的文章有幾個園友發(fā)站內(nèi)信問我如何將索引和表存儲在不同的硬盤上。我覺的需要專門寫一篇文章來講述一下文件和文件組應(yīng)該更容易理解2011-12-12