西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → MSSQL中刪除用戶時(shí) 數(shù)據(jù)庫(kù)主體在該數(shù)據(jù)庫(kù)存中擁有架構(gòu) 無(wú)法刪除

MSSQL中刪除用戶時(shí) 數(shù)據(jù)庫(kù)主體在該數(shù)據(jù)庫(kù)存中擁有架構(gòu) 無(wú)法刪除

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:百度搜索時(shí)間:2013/5/2 14:15:48字體大小:A-A+

作者:西西TS點(diǎn)擊:163次評(píng)論:0次標(biāo)簽: MSSql

  • 類型:數(shù)據(jù)庫(kù)類大。3.1M語(yǔ)言:英文 評(píng)分:6.6
  • 標(biāo)簽:
立即下載

在ms sql2005 下面刪除一個(gè)數(shù)據(jù)庫(kù)的用戶的時(shí)候提示

"數(shù)據(jù)庫(kù)主體在該數(shù)據(jù)庫(kù)中擁有架構(gòu),無(wú)法刪除"

的錯(cuò)誤解決方案
1、在 安全性 -> 架構(gòu) 下面看有沒(méi)有該用戶存在,如果有就刪除
再試試在用戶下面看能不能把該用戶刪掉,如果不行就用下面的文法
運(yùn)行下SQL語(yǔ)句
ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo; 

--然后手動(dòng)刪除就可以了。

因?yàn)檫x定的用戶擁有對(duì)象,所以無(wú)法除去該用戶"解決方法
use 你的庫(kù)名
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ù)庫(kù)存儲(chǔ)過(guò)程,強(qiáng)制刪除法不推薦)
首先你需要做的第一件事
企業(yè)管理器-〉選擇服務(wù)器-〉屬性-〉服務(wù)器設(shè)置-〉挑上允許對(duì)系統(tǒng)目錄。。。-〉確定
第二步
找到你的數(shù)據(jù)庫(kù)找到sysusers表那你以前的用戶刪除
第三步回去吧屬***值改回來(lái)
第四部重建用戶即可

方法二

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

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

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

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

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

格式:

sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner' 
例子 在查詢分析器中錄入:

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

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

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)