2005 또는 2008 인스턴스없이 SQL Server 2000에서 2012로 마이그레이션


11

2012 년으로 옮겨야하는 SQL Server 2000에있는 3 개의 이전 데이터베이스를 발견했습니다. 표준 접근 방식은 2005 또는 2008 인스턴스로 복원하고 업데이트, 재내 보낸 후 2012 년으로 복원하는 것입니다.

사용 가능한 2005 또는 2008 인스턴스가 없다는 점을 제외하고는 좋습니다.

시도해 볼만한 해결책이나 다른 방법이 있습니까?

정보를 위해 데이터베이스에는 15-20 개의 테이블과 몇 개의 뷰만 포함되어 있으며 매우 단순 해 보이고 백업 크기는 100-200MB에 불과합니다.



1
이는 완벽하게 합법적이며 업그레이드를위한 "브리지"로 중간 인스턴스를 설치하는 SQL 라이센스에 포함되어 있습니다. 어떤 사용자도 연결해서는 안됩니다. ...
Rostol

답변:


21

아니요, 데이터베이스를 2000에서 2012로 직접 업그레이드하는 방법은 없습니다.

많은 양의 데이터가 없기 때문에 다음을 포함하여 모든 종류의 작업을 수행 할 수 있습니다 (데이터베이스 전체는 아님).

  • 가져 오기 / 내보내기 마법사
  • SSIS
  • BCP
  • 2012 년의 연결된 서버 또는 응용 프로그램을 사용한 수동 쿼리

그러나 이것이 반드시 사용자, 권한, 역할 등과 같은 다른 것을 가져 오지는 않습니다. 모든 것이 올바른 종속성 순서로 객체를 생성하는 것은 아닙니다. 따라서 더 많은 작업과 오류가 발생하기 쉽습니다. 내 경험상 중간 인스턴스를 임시로 설정하고 두 가지 백업 + 복원 작업을 수행하는 것이 좋습니다.이 방법은 위의 방법보다 쉽고 빠르며 오류가 적습니다.

데이터베이스가 10GB보다 작은 경우 몇 분 안에 Express (무료) 사본을 설치하여 사용할 수 있습니다. 2008 R2 Express는 여기에서 다운로드 할 수 있습니다 . 2000 년에는 데이터베이스 구조 등의 엔터프라이즈 기능이 업그레이드를 차단할 것이라고 생각하지 않습니다 (더 현대적인 버전에서는 더 큰 관심사).

Express에 사용할 수있는 데이터베이스가 너무 큰 경우 $ 49 정도의 Developer Edition을 찾거나 더 저렴한 가격 으로 eBay에서 $ 37 를 찾거나 MSDN 구독이있는 경우 MSDN 구독이 가능한 경우 거기에서 SKU.

또는 이전 버전 (예 : 2008을 찾았 습니다)에서 놀랍게도 여전히 다운로드 할 수있는 평가판을 사용하여 벗어날 수는 있지만 전화를 사용 중이므로 해당 버전의 다운로드가 여전히 작동하는지 확인할 수 없었습니다. .


감사. 인터넷 속도가 좋지 않아 다운로드를 피하려고 노력했지만 2005 설치 ​​바이너리를 찾았으므로 가장 빠른 방법이라고 생각합니다.
Lunatik

아니, 정말 유용한 유일한 것은 2008입니다. 그렇지 않으면 2005 년부터 2010 년이 필요합니다
Rostol


@ AdamNofsinger 100 % 확실하다고 말할 것입니다.이 시간을 가졌습니다 (우리는 오래된 시스템에서 사용하는 오래된 SQL 2000이 있습니다) .2008 vm을 구축하여 데이터를 먼저 복원 한 다음 SQL 2016으로 백업 및 복원합니다. ... 그러나 Paul Randal이 달리 말한다면 ... 그러나 직접적인 방법은 2005 년부터 작동한다는 것을 명심하십시오. 2000 년과 2003 년은 아닙니다.
Rostol

6

해결 방법이 없다고 말하는 것은 조금 이른 것 같습니다.

데이터베이스에는 몇 개의 테이블과 뷰만 포함되어 있다고합니다. 테이블 및 뷰 스키마를 SQL create 문으로 내보내고 대상 데이터베이스에서 실행하는 이유는 무엇입니까? 그런 다음 실제 데이터를 CSV 형식과 같은 것으로 내보내 대상 데이터베이스로 가져 오거나 C # / C ++ / etc로 무언가를 작성하여 실제 데이터를 내보내거나 가져올 수도 있습니다.

궁극적으로 필요하지 않은 새로운 SQL Server 인스턴스에 대해 1 페니를 소비 ​​할 필요가 없습니다.


3
그리고 다른 모든 객체, 저장 프로 시저, 트리거, 함수 등도 포함하십시오. 마찬가지로 데이터베이스와 데이터를 복사하기위한 BCP 유틸리티가 있습니다.
RLF

1
감사. 그것은 내가 바라던 종류의 일이지만 DB 랭 글링은 내 일이 아니며 내가 내가 경우에 복사되지 않을 다른 종속성이나 설정 (사용자 권한 등)이 있는지 확실하지 않습니다. 방금 테이블 등을 내보냈습니다.
Lunatik

4
충분히 공정하고 내 대답을 업데이트했습니다. 여전히 일시적인 해결책은 인스턴스를 일시적으로 설치하고 오류가 발생하지 않는 신뢰할 수있는 두 가지 백업 + 복원 작업을 수행하는 것보다 훨씬 많은 작업이라고 생각합니다. (또한 OP에는 이미 2005 바이너리가 있고 SQL Express를 사용하여 작은 데이터베이스를 마이그레이션 할 수 있어야하므로 이것은 에 관한 것이 아닙니다 .)
Aaron Bertrand

3

아니요, 2000에서 2012로 직접 마이그레이션 할 수 없습니다.

할 수있는 일은 2005 OR 2008 oR 2008R2의 임시 인스턴스를 설치하는 것입니다. 여기서 2000 데이터베이스를 복원하십시오. 완료되면 이제 해당 인스턴스에서 데이터베이스 백업을 가져 와서 SQL Server 2012로 복원하여 설치된 인스턴스에서 업그레이드 할 수 있습니다.

다음 두 단계로 마이그레이션해야합니다.

  • 1 단계 : 예를 들어 SQL 2000에서 SQL 2008로 첫 번째 마이그레이션을 수행하십시오. SQL 2000 SP4 여야하며 다음 단계를 수행하십시오. SQL Server 2000을 SQL Server 2008로 마이그레이션

  • 2 단계 : SQL Server 2008에서 2012로 두 번째 마이그레이션을 수행합니다.


0

"SQL Server 2000에있는 세 개의 오래된 데이터베이스를 발견했습니다"라고 말하면 데이터 만 필요하다고 생각하게됩니다. 나는 그들이 목적을 위해 달리고 있다면 알 것입니다. 이 경우 사용자, 보안 등의 모든 질문을 무시하십시오.

모든 테이블 가져 오기 / 내보내기 마법사 저장 프로 시저 및보기 스크립트 유지 관리 계획 및 에이전트 작업을 확인하여 나중에 보려는 프로세스를 문서화하십시오.


0

SQL Server 2000에서 SQL Server 2012로 직접 마이그레이션 할 수 없으며,이를 시도하면 호환성 문제와 관련된 다음 오류 번호 3169가 발생합니다.

SQL Server 2012 로의 마이그레이션은 다음 버전 (최소 버전) SQL Server 2005 SP4 또는 SQL Server 2008 SP2 또는 SQL Server 2008 R2 SP1 중 하나에서 수행 할 수 있습니다.

따라서 SQL Server 2000에서 해당 버전 중 하나로 마이그레이션하는 첫 번째 단계는 다음 링크 에서 SQL Server 2008의 업그레이드 관리자 중 하나를 찾았습니다 . 복원 프로세스를 시작하기 전에 모든 것이 원활하게 작동하도록하려면 응용 프로그램을 실행해야합니다. 그런 다음 "Launch Upgrade Advisor Analysis Wizard"를 시작하고 마법사 단계를 따르십시오.

보고서를 얻은 후에는 대상 SQL Server 2005 SP4 또는 SQL Server 2008 SP2 또는 SQL Server 2008 R2 SP1에서 데이터베이스를 복원하고 호환성 수준을 실행해야합니다 (데이터베이스 옵션에서 찾을 수 있음). SQL Server 로그인의 경우 다음 링크 의 지침을 따르십시오 .

완료되면 첫 번째 마이그레이션을 수행 한 서버에서 동일한 단계를 반복하여 SQL Server 2012로 마이그레이션해야합니다.


0

먼저 2000에서 2012로 직접 마이그레이션하지 않아야합니다. 나는 그 과정이 잘 다뤄 졌다고 생각한다. 누군가 데이터베이스를 사용하고 있는지, 데이터베이스를 사용하고 있는지 확인하고 싶습니다. 사용하지 않을 수 있습니다. 그런 일이 발생하면 걱정할 필요가 없습니다. 기존 2012 데이터베이스에 2 개 또는 3 개의 테이블과 데이터를 추가하면 (2000 년 동안 bcp를 사용하여 개별 테이블의 데이터를 간단하고 안정적으로 가져 오려는 경우) 사용자의 요구를 충족시킬 수 있습니다. 그렇게하면 2012 데이터베이스에 새 테이블을 만들고 csv에 필요한 데이터를 bcp 아웃하면 원하는 경우 다시 bcp 할 수 있습니다. 하나 이상의 테이블을 마이그레이션해야하는 경우 가장 간단하고 안전하며 가장 좋은 방법은 2 단계 마이그레이션을 수행하는 것입니다. 님'


2000 년의 스키마 스크립팅은 100 % 정확하지 않았다는 것을 알아야합니다. 항상 스크립트를 편집해야한다는 것을 기억합니다.
dkh63493
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.