320x100
|
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 = '1' WHERE name='필드네임' and uid='uid번호'
-- 원래대로 다시 돌려놓음
EXEC sp_configure N'allow updates', 0
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 = '1' WHERE name='필드네임' and uid='uid번호'
-- 원래대로 다시 돌려놓음
EXEC sp_configure N'allow updates', 0
기존에 유저를 삭제 한 뒤 다시 등록을 한뒤 연결작업을 해줌
|
반응형
'소프트웨어 > MSSQL' 카테고리의 다른 글
오류 1069-(서비스가 로그온 실패로 인해 시작되지 않습니다.) (6) | 2010.07.10 |
---|---|
IIS + MSSQL sql injection 공격 대응 (8) | 2008.11.07 |
특정 레코드만 앞으로 먼저 정렬하기 (3) | 2008.06.25 |
SELECT 문 (0) | 2008.03.21 |
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server가 없거나 액세스할 수 없습니다. (0) | 2008.01.28 |
댓글