附加資料庫後用語句:
use[northwind]
drop
user
betterdev
;刪除使用者
betterdev 時報「
資料庫主體擁有資料庫角色,無法刪除。
」錯誤,無法刪除使用者。
解決方法:
通過語句
select
[name]
,[principal_id]
,[type]
,[owning_principal_id]
from
sys.
database_principals
;檢視資料庫的所有使用者
(圖中條乙個選中項應為betterdev 而非 better)
從圖上可以看出角色
「aspnet_webevent_fullaccess」
的所有者是7 即
「betterdev」
,所以無法刪除「
betterdev
」。故用如下語句:
alter
authorization
onrole
::aspnet_webevent_fullaccess
todbo
;更改角色的所有者,如果有多個角色的所有者都為「
betterdev
」則用如下語句:
declare
@name
varchar
(110);
declare
@sql
varchar
(500);
declare
mycursor
cursor
forselect
[name]
from
sys.
database_principals
where
owning_principal_id
=7;open
mycursor
;fetch
next
from
mycursor
into
@name
;while
@@fetch_status
= 0begin
set@sql
='alter authorization on role::'
+@name
+' to dbo;'
exec
(@sql
);fetch
next
from
mycursor
into
@name
;end
;close
mycursor
;deallocate
mycursor
;進行迴圈刪除。
最後用:
use[comptprice]
drop
user
user1
;即可順利刪除使用者.同理
刪除使用者
betterdev 時報「
資料庫主體擁有資料庫框架,無法刪除。
」錯誤,無法刪除使用者。
則先用select
*from
sys.schemas
查詢要刪除有使用者擁有哪個框架
再用alter
authorization
onschema
::db_owner
todbo
即可解決問題
資料庫主體在該資料庫中擁有 架構,無法刪除解決方法
每乙個資料庫使用者對應於乙個系統登陸帳號,並且每乙個架構只能賦予乙個使用者。所以直接刪除使用者的架構是不可以的,然後我就新建乙個登入名,並且在使用者對映裡面將db owner架構 如果原使用者還有其他架構,則也把其他架構賦給他 賦給他,然後就可以刪除之前的使用者了 先刪除此使用者對應的架構,然後在刪...
資料庫主體在該資料庫中擁有架構,無法刪除解決方法
伺服器資料庫上建立了乙個專屬的管理員,因為測試想將其刪除,但是總是提示該使用者擁有架構不能刪除,而且架構顯示db owner也不可更改,我用的是sqlserver2008。在sql server2000中刪除資料庫使用者很簡單,只要直接刪除或者使用drop user命令就可以了,但是sql serv...
資料庫角色許可權
use database goexec sp addlogin name 新增登入 exec sp grantdbaccess n name exec sp addrolemember n db owner n name 新增db owner許可權 go 刪除測試使用者 exec sp revoke...