데이터베이스 소유자 변경이 되지 않을때 error 15138 / 15110
DB Skill/MSSQL 2021. 9. 30. 14:25
에러 내용
데이터베이스 보안 주체는 데이터베이스의 스키마을(를) 소유하며 삭제할 수 없습니다
(Microsoft SQL Server, 오류: 15138)
Msg 15110, Level 16, State 1, Line 14
The proposed new database owner is already a user or aliased in the database.
원인
변경하려는 계정이 이미 DB에 할당되어 있기 때문에
해소
DB의 기존 소유자를 삭제하는것이 아니라,
DB에 소유자을 변경하려는 계정을 삭제 후 실행
만약 스키마 정보에 삭제하려는 계정이 매칭되어 있다면, 변경 후 진행
USE TestDB; DROP USER Test_srv; --15138 오류가 난다면 select * from sys.schemas where principal_id = user_id('Test_srv'); -- 삭제하려는 아이디로 매핑된 스키마가 있는지 확인 ALTER AUTHORIZATION ON Schema::db_owner TO dbo; -- db_owner의 소유자 정보를 dbo로 변경 -- add it back in AND change the dbowner ALTER AUTHORIZATION ON DATABASE::TestDB TO Test_srv; -- DB 소유권 변경 |
참고
https://tori0712.tistory.com/5
http://www.sqlfingers.com/2017/07/sql-server-failure-to-change-database.html
'DB Skill > MSSQL' 카테고리의 다른 글
[Cluster] The Cluster service cannot be started (0) | 2022.03.16 |
---|---|
MSSQL 트랜잭션 로그 파일과 로그 백업 파일 크기가 다르게 생성되는 이유 (0) | 2021.11.27 |
[MSSQL] sp_configure 'max worker threads' default value (0) | 2021.09.13 |
windows 장비 클러스터 구성시, 원격 레지스트리에 엑세스하지 못했습니다. ( Remote Registry Access Denied ) (0) | 2021.09.09 |
mssql license upgrade standard to enterprise ( SQL Server 에디션 업그레이드 ) (0) | 2021.09.06 |