您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關MSSQL中怎么刪除用戶時數據庫主體,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
在ms sql2005 下面刪除一個數據庫的用戶的時候提示 "數據庫主體在該數據庫中擁有架構,無法刪除" 的錯誤解決方案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
第三
方法一(華夏互聯專業技術提示:因為涉及更改數據庫存儲過程,強制刪除法不推薦)首先你需要做的第一件事企業管理器-〉選擇服務器-〉屬性-〉服務器設置-〉挑上允許對系統目錄。。。-〉確定第二步找到你的數據庫找到sysusers表那你以前的用戶刪除第三步回去吧屬***值改回來第四部重建用戶即可
方法二
對mssql出現選定的用戶擁有對象而無法刪除的處理
--將下面的代碼在查詢分析器中執行,修改修改庫名
復制代碼 代碼如下: 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備份移植到另一服務器還原時容易遇到的問題,尤其是從虛擬主機備份回來的數據庫在本機還原的問題…
會出現用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; --然后手動刪除就可以了。
看完上述內容,你們對MSSQL中怎么刪除用戶時數據庫主體有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。