SQL Server 2008을 다운 그레이드하여 SQL Server 2005
-
21-08-2019 - |
문제
SQL Server 2008에서 데이터베이스를 백업 한 다음 SQL Server 2005로 가져 오는 문제가 있습니까? SQL Server 2008로 업그레이드했지만 2008 년은 너무 문제가있는 것처럼 보이므로 이제 다운 그레이드를하고 싶습니다. 이 작업에 문제가 있습니까?
해결책
글쎄, 당신은 2008 백업을 SQL 2005 서버로 복원 할 수 없습니다.
가장 쉬운 방법은 "SQL Server Scripts Generate"마법사를 사용하여 SQL 2005에서 실행하여 데이터베이스를 작성할 수있는 스크립트 (스키마 및 데이터 포함)를 작성하는 것입니다. 보다 http://www.devx.com/dbzone/article/40531
그러나 원래의 문제로 돌아 가기 : SQL 2008에서 어떤 문제가 있습니까?
다른 팁
이 작업을 수행하는 다른 방법은 객체 탐색기를 통해 두 서버에 연결하고 데이터를 하나에서 다른 곳으로 가져 오는 것입니다.
그러나이 작업을 수행 할 때 일부는 올바르게 전송되지 않습니다. 예를 들어, 기본 및 외국 키 설정과 자동 점수 설정을 수동으로 재설정해야했습니다. 그러나 모든 데이터가 작동하는 데 필요한 비용이 적은 가격이었습니다.
나는 문제가 무엇인지 동의 할 것입니까? 애플리케이션에 관한 것이라면 SQL 2005 호환성 모드에서 데이터베이스를 실행할 수 없습니까? 2005 년으로 이동 해야하는 경우 데이터베이스를 08에서 05로 복원 할 수 없습니다.
50MB 이상의 DB가있는 경우 스크립트 생성 마법사를 사용하여 데이터베이스 스키마를 스크립트하고 데이터가없는 모든 키, 인덱스, 트리거, 콜라이트 및 전체 텍스트 지수를 스크립트합니다. SQL 2005 버전 옵션의 스크립트를 확인하십시오. SQL Server 2005에서 새 데이터베이스를 작성하려면 해당 스크립트를 실행하십시오.
테이블에 트리거가있는 경우 데이터를 가져 오기 전에 테이블을 모두 비활성화하려고합니다. 이 스크립트는 당신을 위해 그렇게 할 것입니다. 이것들은 당신을 위해 그렇게 할 것입니다
-- Disable Triggers
While @i <= @MaxI
Begin
Select @dsql = 'DISABLE Trigger ' + TriggerName + ' ON ' + TableName
From @DisableTriggers
Where MyRowCount = @i
Exec sp_executesql @dsql
Select @i = @i + 1
End
-- Enable Triggers
While @i <= @MaxI
Begin
Select @dsql = 'Enable Trigger ' + TriggerName + ' ON ' + TableName
From @DisableTriggers
Where MyRowCount = @i
Exec sp_executesql @dsql
Select @i = @i + 1
End
그런 다음 가져 오기 / 내보내기 마법사를 사용하여 데이터를 데이터베이스로 가져옵니다. 이것은 내 경험에서 스크립트 아웃 스크립트보다 훨씬 빠릅니다.