今天就跟大家聊聊有關MSSQL中怎么刪除用戶時數(shù)據(jù)庫主體,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。
在ms sql2005 下面刪除一個數(shù)據(jù)庫的用戶的時候提示 "數(shù)據(jù)庫主體在該數(shù)據(jù)庫中擁有架構,無法刪除" 的錯誤解決方案1、在 安全性 -> 架構 下面看有沒有該用戶存在,如果有就刪除再試試在用戶下面看能不能把該用戶刪掉,如果不行就用下面的文法運行下SQL語句ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
--然后手動刪除就可以了。因為選定的用戶擁有對象,所以無法除去該用戶"解決方法
代碼如下:
use 你的庫名go
declare tb cursor localforselect 'sp_changeobjectowner '+quotename(+quotename(user_name(uid))+'.'+quotename(name),'''')+',''dbo'''from sysobjects where objectproperty(id,N'isusertable')=1and uid<>user_id('dbo')declare @s nvarchar(4000)open tbfetch tb into @swhile @@fetch_status=0beginexec(@s)fetch tb into @sendclose tbdeallocate tb
第三
方法一(華夏互聯(lián)專業(yè)技術提示:因為涉及更改數(shù)據(jù)庫存儲過程,強制刪除法不推薦)首先你需要做的第一件事企業(yè)管理器-〉選擇服務器-〉屬性-〉服務器設置-〉挑上允許對系統(tǒng)目錄。。。-〉確定第二步找到你的數(shù)據(jù)庫找到sysusers表那你以前的用戶刪除第三步回去吧屬***值改回來第四部重建用戶即可
方法二
對mssql出現(xiàn)選定的用戶擁有對象而無法刪除的處理
--將下面的代碼在查詢分析器中執(zhí)行,修改修改庫名
復制代碼 代碼如下: use 你的庫名go
declare tb cursor localforselect 'sp_changeobjectowner '+quotename(+quotename(user_name(uid))+'.'+quotename(name),'''')+',''dbo'''from sysobjects where objectproperty(id,N'isusertable')=1and uid<>user_id('dbo')declare @s nvarchar(4000)open tbfetch tb into @swhile @@fetch_status=0beginexec(@s)fetch tb into @sendclose tbdeallocate tb
MSSQL備份移植到另一服務器還原時容易遇到的問題……MSSQL備份移植到另一服務器還原時容易遇到的問題,尤其是從虛擬主機備份回來的數(shù)據(jù)庫在本機還原的問題…
會出現(xiàn)用SQL原來的用戶名和密碼無效的情況 無法刪除某一個系統(tǒng)表 用sa連接做Select時提示表名無效 無法刪除原備份數(shù)據(jù)庫中的用戶名,提示“因為選定的用戶擁有對象,所以無法除去該用戶。”主要原因是原來的備份還原時保留了原用戶的信息,導致產(chǎn)生孤立用戶……
這時候需要用sp_changeobjectowner 將對象的所有關系更改到另一個用戶上,既更改數(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ù)庫中擁有架構,無法刪除。解決方法 刪除 對于 用戶“*****”失敗。 (Microsoft.SqlServer.Smo) 有關幫助信息,請單擊: /tupian/20230522/ref=go&linkid=prd=&pver=&sbp=&os=0&over=&plcid=&olcid=0&clcid=&ar=&sar=&o1=&o2=&o3=&o4=&o5= 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ù)庫中擁有 架構,無法刪除。 (Microsoft SQL Server,錯誤: 15138) 有關幫助信息,請單擊: /tupian/20230522/ref=go&linkid=prd=&pver=&sbp=&os=0&over=&plcid=&olcid=0&clcid=&ar=&sar=&o1=&o2=&o3=&o4=&o5=09.00.1399&EvtSrc=MSSQLServer&EvtID=15138&LinkId=20476 解決方法一 先刪除此用戶對應的架構,然后在刪除對應的用戶 步驟 1。SQL SERVER MANAGEMENT STUDIO--》數(shù)據(jù)庫--》安全性--》構架,先刪除對應的構架 2。SQL SERVER MANAGEMENT STUDIO--》數(shù)據(jù)庫--》安全性--》用戶,刪除對應的用戶 解決方法二 --執(zhí)行如下SQL語句 ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo; --然后手動刪除就可以了。
看完上述內容,你們對MSSQL中怎么刪除用戶時數(shù)據(jù)庫主體有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)頁標題:MSSQL中怎么刪除用戶時數(shù)據(jù)庫主體-創(chuàng)新互聯(lián)
鏈接URL:http://www.chinadenli.net/article24/doioce.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、自適應網(wǎng)站、云服務器、Google、App開發(fā)、營銷型網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)