답변:
타사 도구가 필요하지 않습니다. SQL Server 2008 Management Studio는 "스크립트 데이터베이스"마법사에 "스크립트 데이터"옵션을 추가했기 때문에 데이터베이스를 다운 컨버전 할 수있는 강력한 도구를 제공했습니다.
SQL2008 SSMS에서 DB를 마우스 오른쪽 버튼으로 클릭하고 작업으로 이동 한 다음 "스크립트 생성"
마법사를 진행하면서 테이블 / 뷰 옵션에서 "스크립트 데이터"로 "참"을 선택했는지 확인하십시오. 모든 개체를 선택한 다음 2005 서버에서 생성 한 스크립트를 실행하십시오. ( 원래 데이터베이스가 매우 큰 경우 생성 된 스크립트가 방대 할 수 있습니다 !)
SQL2005 서버에 대해 마법사를 실행하여 SQL2005 데이터베이스를 SQL2000으로 다운 변환 할 수도 있습니다 (물론 워크 스테이션에 2008 도구가 설치되어 있어야 함).
한 SQL Server 인스턴스에서 다른 인스턴스로 데이터를 BCP 할 수 있습니다. 그것은 한 버전에서 다른 버전으로 데이터를 복사하는 가장 빠른 방법입니다. 데이터 양에 따라 시간이 오래 걸릴 수 있습니다.
불행히도 DB를 2008 형식에서 2005 형식으로 다운 그레이드하는 직접적인 방법은 없습니다.
과거 에이 작업을 수행 한 방법 (실제로 이전 버전의 SQL Server에서 프로세스는 동일하지만)은 다음과 같습니다.
INSERT destinationserver.destinationdb.schema.table SELECT * FROM sourcedb.schema.table
INSERT schema.table SELECT * FROM sourceserver.sourcedb.schema.table
인스턴스를 연결 한 경우 ) 데이터를 먼저 복사하고 3 단계 이후에 다른 모든 구조 (인덱스, 프로세스, 트리거 등)를 추가하는 것이 더 효율적일 수 있습니다. 이렇게하면 제약 조건 및 트리거로 인한 행 삽입 순서 문제를 피하고 인덱스를 이론적으로는 모든 데이터가 추가 될 때이를 구축하는 것보다 더 빠릅니다.하지만 테이블에 클러스터 된 인덱스가있는 경우 데이터를 추가하기 전에 이러한 인덱스를 생성하면 사실 이후에 더 빨리 생성되지 않습니다.
물론 이것은 모두 SQL 2008 특정 기능을 사용하는 개체가 없다고 가정합니다. 스키마를 다시 작성할 때 오류가 발생했을 때 그러한 것을 찾아 수정하면 좋을 것입니다. 코드 중 하나가 SQL Server 버전간에 다양하게 발생하는 공식적으로 정의되지 않은 동작에 의존하는 경우 나중에 찾아서 제거하기 위해 훨씬 더 미묘하고 찾기 어려운 버그가있을 수 있습니다.
비슷한 상황에 직면하여 데이터베이스 게시 마법사를 사용하여 SQL Server 2008 데이터베이스에서 SQL Server 2005의 스키마와 데이터를 스크립팅했습니다.