선택한 사용자는 개체를소유하고 있으므로 삭제할 수 없습니다.


MSSQL 을 재설치를 한뒤 DB 백업파일이나 또는 MDF 파일을 복원이나 연결을 통해서 복구를 마친 뒤

다시 소유자를 생성하고 DB 와 연결시켜주는 작업을 하려던 중 기존에 복원을 통해서 생성된 유저를 삭제하려고했을때

아래와 같은 오류메시지가 발생


" 선택한 사용자는 개체를 소유하고 있으므로 삭제할 수 없습니다. "



이메시지는 복원을 통해서 만들어진 기존 소유자가 뷰나 테이블에 소유권을 설정해놓은 부분이 따로 있기에
그부분 때문에 유저를 삭제 할 수 없다는 에러 메시지

쿼리분석기

EXEC sp_configure N'allow updates', 1
RECONFIGURE WITH OVERRIDE

-- 실행한 뒤  해당 DB 에서 sysobjects 테이블 에  uid 필드의 내용이 1 이 아닌것을 찾음
SELECT name,uid FROM sysobjects WHERE uid <> '1'

-- 1 이 아닌것을 발견했다면 그부분의 소유권때문에 발생한 문제이므로 숫자를 1 바꿈 (소유권을 dbo 로 넘겨버림)
UPDATE sysobjects SET uid = '1WHERE name='필드네임' and uid='uid번호

-- 원래대로 다시 돌려놓음
EXEC sp_configure N'allow updates', 0




기존에 유저를 삭제 한 뒤 다시 등록을 한뒤 연결작업을 해줌


이 글은 "씨디맨" 의 동의 없이 전문 재배포 금지. 링크 및 트랙백은 허가 없이 무제한 허용 *  [자세히보기]

질문 또는 댓글을 남겨 주세요.

질문글은 무조건 답변 드리겠습니다. 이곳에 질문을 올려주세요.
이 글과 연관이 없는 급한 질문은 빠른 질문/답변을 이용해 주세요!

댓글 입력 폼

s;s s;s

     이미지 업로드

  1. Yasu 2009.01.08 19:12 신고

    server OS는 안 써봐서...^^

    perm. |  mod/del. |  reply.
    • 씨디맨 2009.01.08 20:57 신고

      DB 를 복원후에 저부분때문에 안되서 찾아보다가 방법을 알게되어서 적어보았습니다 ^^

      perm. |  mod/del. |