프로그래밍 관련/DB SQL

계정 삭제시 스키마문제로 안지워질떄

AlrepondTech 2011. 1. 19. 15:56
반응형

 

 

 

 

=======================

=======================

=======================

 

 

 

출처 | http://cherni0911.blog.me/130044580691

MS-SQL 2005를 사용하다가 계정을 삭제 할 때

 

 

 

위와 같은 메시지를 본 적이 있을 것이다.

 

제목: Microsoft SQL Server Management Studio
------------------------------

사용자 'Test'에 대한 삭제이(가) 실패했습니다.  (Microsoft.SqlServer.Smo)

도움말을 보려면 다음을 클릭하십시오: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=삭제+User&LinkId=20476

------------------------------
추가 정보:

Transact-SQL 문 또는 일괄 처리를 실행하는 동안 예외가 발생했습니다. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

데이터베이스 보안 주체는 데이터베이스의 스키마을(를) 소유하며 삭제할 수 없습니다. (Microsoft SQL Server, 오류: 15138)

 

 

위와 같은 에러는 해당 계정이 접근하는 DB의 스키마를 소유하고 있어서이다.

 

 

 

 

================

해결 방법

================

 

1. 해당 계정이 소유한 스키마 확인

[Microsoft SQL Server Management Studio] 에서

 

[MyDB] -> 보안 -> 사용자 -> 해당 사용자 -> 속성 -> 소유한 스키마 확인

 

2. 해당 스키마의 소유자 변경

[Microsoft SQL Server Management Studio] 에서

 

[MyDB] -> 보안 -> 스키마 -> 위에서 확인한 스키마 -> 스키마 소유자를 스키마 이름과 동일하게 작성 -> 확인

다시 쉽게 (202psj 블러그 추가)

자기가만든 테이블 -> 보안 -> 스키마

이렇게 들어가면 해당 스키마 옆에 자기가 만든 계정 이름이 옆에 붙어 있을 것 이다

이것을 해당 스키마 이름과 같게 모두 만들어주면 삭제 가능하다.

 

 

3. 해당 계정 삭제

 

 

 

끝!!~

 

 

=======================

=======================

=======================

 

 

 

반응형