2010-02-10 4 views
1

SQL 2000을 사용하여 다른 고객에게 Sql 2008 데이터를 보내려는 고객이 있습니다. 현재이 기능이 현재 작동하지 않으므로 "일반" 백업 프로세스를 통해 Server 2000 이상에서 데이터를 백업하고 복원 할 수 있습니다 (SQL2000은 전체 또는 고객 중 가장 적은 공통 분모이기 때문에). 지금 우리가 이런 식으로 우리의 백업을 생성하는 (C 번호) :SQL 2000에서 복원 할 SQL 2008 데이터베이스 백업

, "힘"백업에이 SQL 2000로 실행할 수있는 방법이 데이터베이스는 SQL 2005 또는 경우에도, 나의 첫번째 질문은
Server server = new Server(GetServerConnection(serverName, userName, password)); 
Backup backup = new Backup(); 
backup.Action = BackupActionType.Database; 
backup.Database = GetDatabasePrefix() + databaseName; 
backup.Devices.AddDevice(fileName, DeviceType.File); 
backup.Initialize = true; 

backup.SqlBackup(server); 

있다 2008 년?

또한 데이터베이스에서 bcp 프로 시저를 사용하여 테이블을 패키지화하고 패키지를 압축 해제 한 다음 압축하여이를 방지하려고했습니다. zip 프로세스에서 헤더 플래그를 "일반"백업으로 선언합니다. 이것은 합리적으로 보입니까, 아니면 이렇게하는 간단한 방법이 있습니까? 응용 프로그램은 서버에 관계없이 동일하므로 모든 열과 테이블이 동일해야합니다. 도와 주셔서 감사합니다!

답변

5

데이터 만 이식하는 경우 BCP 또는 사용자 지정 SSIS 패키지는 재사용 할 가능성이 가장 높습니다. SSIS 가져 오기/내보내기 마법사를 들여다보고 싶을 수도 있습니다. 사용하기가 매우 쉽고 원하는 것을 성취 할 수 있습니다.

2

최신 버전의 SQL Server에서 이전 버전으로 백업을 복원 할 수 없습니다.

당신은 SSMS를 생성 할 수 있습니다 SSMS에서 2000 SQL 스크립트 : 2008

  • 를 열고 도구 - 서버 버전> 스크립팅
  • 설정 "스크립트 -> SSMS에서 옵션 2008
  • 이동 SQL 서버에 개체 탐색기 "2000
  • 에 마우스 오른쪽 버튼으로 데이터베이스를 클릭 작업을 선택 -> 스크립트를 데이터베이스에
  • 스크립트의 모든 객체를 생성
  • RedGate SQL Data Compare를 구입을 고려, 또는

    insert ChefDb.dbo.MyTable from ChefServer.ChefDb.dbo.MyTable 
    

    :

그런 다음 함께 서버를 연결하여 2000 서버에서 스크립트를 실행하고 같은 데이터를 복사합니다.

+0

자세한 응답을 주시면 감사하겠습니다 만, 제 1 차 목표는 프로그래밍 방식으로이 기능을 활용하는 것입니다. 고객에게이 작업을 요청할 수는 없으며 응용 프로그램에 해당 수단을 제공해야합니다. – Kevin

관련 문제