본문 바로가기
컴퓨터이야기/MS-SQL

데이터베이스 다이어그램 소유권 이해(MsSql2000-->MsSql2005 복원후 에러)

by 변화지시자 2009. 1. 12.
반응형

데이터베이스 다이어그램 디자이너를 사용하려면 먼저 다이어그램에 대한 액세스를 제어하는 db_owner 역할(Microsoft SQL Server 데이터베이스의 역할)이 부여된 멤버 자격으로 이 디자이너를 설정해야 합니다. 각 다이어그램에는 반드시 한 명의 소유자(다이어그램을 만든 사용자)가 있어야 합니다. 다이어그램 설정에 대한 자세한 내용은 방법: 데이터베이스 다이어그램 디자이너 설정(Visual Database Tools)을 참조하십시오.

다이어그램 소유권과 관련하여 유의할 점은 다음과 같습니다.

  • 데이터베이스에 대한 액세스 권한이 있는 사용자는 다이어그램을 만들 수 있지만, 일단 작성된 다이어그램은 db_owner 역할의 멤버와 다이어그램의 작성자만 볼 수 있습니다.
  • 다이어그램의 소유권은 db_owner 역할이 있는 멤버에게만 전달할 수 있습니다. 다이어그램 소유권을 전달하려면 이전 소유자가 데이터베이스에서 제거된 상태여야 합니다.
  • 다이어그램의 소유자가 데이터베이스에서 제거된 후에도 db_owner 역할을 가진 멤버가 해당 다이어그램을 열려고 시도할 때까지 이 다이어그램은 데이터베이스에 유지됩니다. db_owner 멤버는 이러한 다이어그램을 열려고 시도할 때 다이어그램의 소유권을 계승할지 여부를 선택할 수 있습니다.
ms186345.note(ko-kr,SQL.90).gif중요:
SQL Server Management Studio의 데이터베이스 다이어그램 지원을 설치하려면 해당 데이터베이스가 SQL Server 2005 데이터베이스 호환성 수준에 있어야 합니다. 다이어그램 지원을 설치하려 할 때 데이터베이스가 90 호환성 수준에 있지 않으면 다음 오류가 발생합니다.

이 데이터베이스에 유효한 소유자가 없으므로 데이터베이스 다이어그램 지원 개체를 설치할 수 없습니다. 계속하려면 [데이터베이스 속성] 대화 상자의 [파일] 페이지 또는 ALTER AUTHORIZATION 문을 사용하여 데이터베이스 소유자를 유효한 로그인으로 설정한 다음 데이터베이스 다이어그램 지원 개체를 추가합니다.

다이어그램 지원을 설치하면 데이터베이스 호환성 수준을 다시 설정할 수 있습니다. 다음 Transact-SQL 문을 사용하여 데이터베이스의 호환성 수준을 변경한 다음 데이터베이스 다이어그램 작업을 다시 시도합니다.

EXEC sp_dbcmptlevel 'database_name', '90';

다른 SQL Server 인스턴스에서 연결 또는 복원된 데이터베이스에는 이러한 지원 개체를 설치하지 못할 수 있습니다. 데이터베이스에 저장되어 있는 데이터베이스 소유자 이름이 데이터베이스가 연결 또는 복원되는 SQL Server 인스턴스에서 유효한 로그인이 아닐 때 이러한 문제가 발생할 수 있습니다.

다음 Transact-SQL 문을 사용하여 데이터베이스 소유자를 SQL Server 인스턴스에서 유효한 로그인으로 변경한 다음 데이터베이스 다이어그램 작업을 다시 시도합니다.

ALTER AUTHORIZATION ON DATABASE::database_name TO valid_login


에러 화면



1. 첫번째 sql 명령어 실행 화면


2. 2번째 sql 명령어 실행화면

3. 다시 다이어그램 클릭했을때 화면