2013-08-07 3 views
0

프로덕션 데이터베이스 (SQL Server 2000)의 복사본을 SQL Server 2008로 업그레이드했으며 저장 프로 시저가 변경되었습니다. & 수정되었습니다. 이제 현재 데이터를 프로덕션 (SQL Server 2000)에서 복사하여 새 SQL Server 2008로 푸시하고 프로덕션 응용 프로그램을 새 SQL Server로 안내하려고합니다. 모든 테이블 스키마는 변경되지 않습니다.업그레이드로 이동하기 위해 테이블 ​​데이터 만 백업하는 방법 SQL Server 2000 -> SQL Server 2008?

필자는 모든 테이블을 파일에 삽입하여 스크립팅하는 것이 한 가지 가능성이 있음을 알고 있습니다. 이것이 최선의 방법입니까? 아니면 더 나은 접근법이 있습니까? 외래 키가 문제가됩니까?

+0

필자가 수행 한 작업은 SP를 스크립팅하고 전체 DB 백업 위에 다시 적용하는 것이 었습니다. 하지만 다음 번에 생각할 다른 옵션에 대해 알고있어 기쁩니다. –

답변

2

여기에 당신이 할 수있는 몇 가지가 있으며 이러한 모든 장점과 단점이 있습니다

수동 스크립트와 연결된 서버 :

설정 연결된 서버 연결 및 사용 INSERT

INSERT INTO server2008.databaseName.schemaName.TableName (Col1, Col2, ..., Coln) 
SELECT Col1, Col2, ..., Coln 
FROM server2000.databaseName.schemaName.TableName 

INTO를

이들의 실행 순서에 유의하십시오. 첫째 외래 키

문제를 방지하기 위해 아무런 언급이없는 테이블을 마이그레이션해야합니다

할 수 있습니다 일부 테이블 이미

ALTER TABLE MyTable NOCHECK CONSTRAINT FK_Constraint 
SET IDENTITY_INSERT tableName ON 

-- INSERT STATEMENT HERE 

SET IDENTITY_INSERT tableName OFF 
ALTER TABLE MyTable CHECK CONSTRAINT FK_Constraint 

데이터 내보내기 마법사

심지어 일시적으로 비활성화 외래 키 및 ID 삽입 Tomasito가 제안한 - 올바른 순서로 스크립트를 실행하십시오. 이전에 삽입 된 테이블의 데이터 만 참조하는 테이블보다 참조가없는 테이블에 대한 첫 번째 스크립트 ....

타사 도구

당신을 위해 일을 할 것입니다 이들의 많은이 있습니다. 이 작업이 일회성 작업이면 평가판을 사용하여 작업을 완료 할 수 있습니다. 내가 아는 몇 가지는 ApexSQL 데이터 차이, SQL 데이터 비교, AdeptSQL Diff입니다.

0

Microsoft SQL Server Management Studio에서 데이터베이스 및 ImportExport 옵션을 마우스 오른쪽 단추로 클릭하십시오. 또 다른 방법은 SQL Prompt : SQL Compare (유료 도구)를 사용하는 것입니다. 데이터 집합을 시도해보고 옵션으로 결정하는 것이 더 좋습니다.