다음을 통해 공유


데이터베이스 분리 및 연결(SQL Server)

데이터베이스의 데이터 및 트랜잭션 로그 파일을 분리한 다음 SQL Server의 동일한 인스턴스 또는 다른 인스턴스에 다시 연결할 수 있습니다. 데이터베이스 분리 및 연결은 데이터베이스를 동일한 컴퓨터의 다른 SQL Server 인스턴스로 변경하거나 데이터베이스를 이동하려는 경우에 유용합니다.

SQL Server 디스크 내 스토리지 형식은 64비트 및 32비트 환경에서 동일합니다. 따라서 연결은 32비트 및 64비트 환경에서 작동합니다. 한 환경에서 실행되는 서버 인스턴스에서 분리된 데이터베이스는 다른 환경에서 실행되는 서버 인스턴스에 연결할 수 있습니다.

안전

파일 액세스 권한은 데이터베이스 분리, 연결 등의 여러 데이터베이스 작업 중에 설정됩니다.

중요합니다

출처를 알 수 없거나 신뢰할 수 없는 데이터베이스는 연결하거나 복원하지 않는 것이 좋습니다. 이러한 데이터베이스에 포함된 악성 코드가 의도하지 않은 Transact-SQL 코드를 실행하거나 스키마 또는 물리적 데이터베이스 구조를 수정하여 오류가 발생할 수 있습니다. 알 수 없거나 신뢰할 수 없는 소스의 데이터베이스를 사용하기 전에 비프로덕션 서버의 데이터베이스에서 DBCC CHECKDB 를 실행하여 데이터베이스에서 코드(예: 저장 프로시저 또는 다른 사용자 정의 코드)를 시험해 보세요.

데이터베이스 분리

데이터베이스를 분리하면 SQL Server 인스턴스에서 데이터베이스가 제거되지만 데이터베이스는 데이터 파일 및 트랜잭션 로그 파일 내에 그대로 유지됩니다. 그런 다음 이러한 파일을 사용하여 데이터베이스가 분리된 서버를 포함하여 SQL Server의 모든 인스턴스에 데이터베이스를 연결할 수 있습니다.

다음 중 어느 것이라도 true이면 데이터베이스를 분리할 수 없습니다.

  • 데이터베이스가 복제되고 게시됩니다. 복제된 경우 데이터베이스를 게시 취소해야 합니다. 분리하려면 먼저 sp_replicationdboption 실행하여 게시를 사용하지 않도록 설정해야 합니다.

    비고

    sp_replicationdboption 사용할 수 없는 경우 sp_removedbreplication 실행하여 복제를 제거할 수 있습니다.

  • 데이터베이스에 데이터베이스 스냅숏이 있는 경우

    데이터베이스를 분리하려면 먼저 모든 스냅샷을 삭제해야 합니다. 자세한 내용은 데이터베이스 스냅샷 삭제(Transact-SQL)를 참조하세요.

    비고

    데이터베이스 스냅샷은 분리하거나 연결할 수 없습니다.

  • 데이터베이스가 데이터베이스 미러링 세션에서 미러링되고 있습니다.

    세션이 종료되지 않으면 데이터베이스를 분리할 수 없습니다. 자세한 내용은 데이터베이스 미러링 제거(SQL Server)를 참조하세요.

  • 데이터베이스가 의심스럽다. 주의 대상 데이터베이스는 분리할 수 없습니다. 분리하려면 먼저 비상 모드로 전환해야 합니다. 데이터베이스를 긴급 모드로 전환하는 방법에 대한 자세한 내용은 ALTER DATABASE(Transact-SQL)를 참조하세요.

  • 데이터베이스는 시스템 데이터베이스입니다.

백업 및 복원 및 분리

읽기 전용 데이터베이스를 분리하면 차등 백업의 차등 기반에 대한 정보가 손실됩니다. 자세한 내용은 차등 백업(SQL Server)을 참조하세요.

분리 오류의 처리

데이터베이스를 분리하는 동안 발생하는 오류는 데이터베이스가 완전히 닫히지 않고 트랜잭션 로그가 다시 작성되지 않도록 할 수 있습니다. 오류 메시지가 표시되면 다음 수정 작업을 수행합니다.

  1. 주 파일뿐만 아니라 데이터베이스와 연결된 모든 파일을 다시 연결합니다.

  2. 오류 메시지를 발생시킨 문제를 해결합니다.

  3. 데이터베이스를 다시 분리합니다.

데이터베이스 연결

복사되거나 분리된 SQL Server 데이터베이스를 연결할 수 있습니다. SQL Server 2014 서버 인스턴스를 연결할 때 카탈로그 파일은 SQL Server 2005와 동일한 다른 데이터베이스 파일과 함께 이전 위치에서 연결됩니다. 자세한 내용은 전체 텍스트 검색 업그레이드를 참조하세요.

데이터베이스를 연결할 때 모든 데이터 파일(MDF 및 NDF 파일)을 사용할 수 있어야 합니다. 데이터베이스를 처음 만들거나 마지막으로 연결했을 때와 다른 경로가 있는 데이터 파일의 경우 파일의 현재 경로를 지정해야 합니다.

비고

첨부되는 기본 데이터 파일이 읽기 전용인 경우 데이터베이스 엔진은 데이터베이스가 읽기 전용이라고 가정합니다.

암호화된 데이터베이스가 SQL Server 인스턴스에 처음 연결되면 데이터베이스 소유자는 다음 문을 실행하여 데이터베이스의 마스터 키를 열어야 합니다. OPEN MASTER KEY DECRYPTION BY PASSWORD = ''password. 마스터 키의 자동 암호 해독을 사용하도록 설정하기 위해 다음 명령문을 실행하는 것이 좋습니다: ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY. 자세한 내용은 CREATE MASTER KEY(Transact-SQL)ALTER MASTER KEY(Transact-SQL)를 참조하세요.

로그 파일을 연결하기 위한 요구 사항은 다음과 같이 데이터베이스가 읽기/쓰기 또는 읽기 전용인지에 따라 부분적으로 달라집니다.

  • 읽기/쓰기 데이터베이스의 경우 일반적으로 새 위치에 로그 파일을 연결할 수 있습니다. 그러나 경우에 따라 데이터베이스를 다시 연결하려면 기존 로그 파일이 필요합니다. 따라서 데이터베이스가 분리된 로그 파일 없이 성공적으로 연결되고 나면 더 이상 필요하지 않으므로, 항상 모든 분리된 로그 파일을 유지하는 것이 중요합니다.

    읽기/쓰기 데이터베이스에 단일 로그 파일이 있고 로그 파일의 새 위치를 지정하지 않는 경우 연결 작업은 파일의 이전 위치를 찾습니다. 이 파일이 발견되면 데이터베이스가 완전히 종료되었는지 여부에 관계없이 이전 로그 파일이 사용됩니다. 그러나 이전 로그 파일을 찾을 수 없고 데이터베이스가 완전히 종료되고 활성 로그 체인이 없는 경우 연결 작업은 데이터베이스에 대한 새 로그 파일을 빌드하려고 시도합니다.

  • 첨부되는 기본 데이터 파일이 읽기 전용인 경우 SQL Server는 기본 파일에 저장된 로그 위치를 업데이트할 수 없습니다.

데이터베이스 연결에 대한 메타데이터 변경 내용

읽기 전용 데이터베이스를 분리한 다음 다시 연결하면 현재 차등 기반에 대한 백업 정보가 손실됩니다. 차등 기반은 데이터베이스 또는 데이터베이스의 파일 또는 파일 그룹의 하위 집합에 있는 모든 데이터의 최신 전체 백업입니다. 기본 백업 정보가 없으면 마스터 데이터베이스가 읽기 전용 데이터베이스와 동기화되지 않으므로 이후에 수행된 차등 백업은 예기치 않은 결과를 제공할 수 있습니다. 따라서 읽기 전용 데이터베이스에서 차등 백업을 사용하는 경우 데이터베이스를 다시 연결한 후 전체 백업을 사용하여 새 차등 기반을 설정해야 합니다. 차등 백업에 대한 자세한 내용은 차등 백업(SQL Server)을 참조하세요.

연결 시 데이터베이스 시작이 발생합니다. 일반적으로 데이터베이스를 연결하면 데이터베이스가 분리되거나 복사되었을 때와 동일한 상태로 배치됩니다. 그러나 연결 및 분리 작업은 모두 데이터베이스에 대한 데이터베이스 간 소유권 체인을 사용하지 않도록 설정합니다. 체인을 사용하도록 설정하는 방법에 대한 자세한 내용은 교차 db 소유권 체인 서버 구성 옵션을 참조하세요. 또한 TRUSTWORTHY는 데이터베이스가 연결 될 때마다 OFF로 설정됩니다. TRUSTWORTHY를 ON으로 설정하는 방법에 대한 자세한 내용은 ALTER DATABASE(Transact-SQL)를 참조하세요.

백업 및 복원 및 연결

완전히 또는 부분적으로 오프라인 상태인 데이터베이스와 마찬가지로 복원 파일이 있는 데이터베이스는 연결할 수 없습니다. 복원 시퀀스를 중지하면 데이터베이스를 연결할 수 있습니다. 그런 다음 복원 시퀀스를 다시 시작할 수 있습니다.

다른 서버 인스턴스에 데이터베이스 연결

중요합니다

최신 버전의 SQL Server에서 만든 데이터베이스를 이전 버전에서 연결할 수 없습니다.

다른 서버 인스턴스에 데이터베이스를 연결하는 경우 사용자 및 애플리케이션에 일관된 환경을 제공하기 위해 다른 서버 인스턴스에서 로그인 및 작업과 같은 데이터베이스에 대한 메타데이터의 일부 또는 전부를 다시 만들어야 할 수 있습니다. 자세한 내용은 다른 서버 인스턴스에서 데이터베이스를 사용할 수 있도록 할 때 메타데이터 관리(SQL Server)를 참조하세요.

관련 작업

데이터베이스를 분리하려면

데이터베이스를 연결하려면

분리 및 연결 작업을 사용하여 데이터베이스를 업그레이드하려면

분리 및 연결 작업을 사용하여 데이터베이스를 이동하려면

데이터베이스 스냅샷을 삭제하려면

또한 참조하십시오

데이터베이스 파일 및 파일 그룹