SQL Server 2005에서 2016으로 데이터 마이그레이션


9

SQL Server를 처음 사용하지만 SQL 언어에 익숙하고 SSIS 패키지를 작성하는 데 익숙합니다.

SQL Server 2005에서 2016으로 데이터를 마이그레이션하고 싶습니다.

내 질문은 시스템 데이터베이스 및 인덱스, 저장 프로 시저,보기, 보안 및 권한과 같은 다른 개체에 대해 걱정해야한다는 것입니다. 로그인하거나 데이터를 마이그레이션 할 수 있습니다.

이 경우 권장되는 절차는 무엇입니까?


프로덕션 인스턴스 를 업그레이드하려고 합니까? 즉, 동일한 로그인, 색인, 저장된 procs 등이 필요합니까? 실제로 귀하의 질문은 매우 광범위합니다. 하시기 바랍니다 투어를 하고 읽을 도움말 센터 좋은 질문을하는 방법을. 감사!
Max Vernon

답변:


7

Max는이 대체보기를 입력 한 후에 upvote 할 괜찮은 대답을했습니다.

나는 업그레이드 마이그레이션을 수행 할 때 시스템 데이터베이스를 복원하는 팬이 아니며 다른 질문에 대한 긴 답변 에서 논의한 것처럼 업그레이드를 수행하는 것을 선호합니다 .

기본적으로 마이그레이션을 수행 할 때 "새로 고침"을 시작하고 싶습니다. 복원을 통해 시스템 데이터베이스 마이그레이션 및 업그레이드를 수행하면 때로는 복원에 좌절감을 느끼고 잠재적 인 죄를 극복 할 수 있습니다.

인덱스, 저장 프로 시저, 뷰에 대해서도 질문했습니다. 데이터베이스 레벨의 해당 항목은 모두 사용자 데이터베이스 내에 있어야합니다. 따라서 데이터베이스 X를 새 서버로 복원하면 모든 데이터베이스 개체 (테이블, 사용자, 뷰, 프로세서, 함수 등)도 있습니다.

시스템 데이터베이스에는 작업, 로그인, 경고, 연결된 서버, 암호화 키 등이 있습니다. 인스턴스 레벨 항목.

나는 그것들을 검토하고 다양한 스크립트를 사용하여 필요한 것을 마이그레이션하고 싶습니다 . 최근에는 DBATools.Io powershell 스크립트입니다. 나는 스크립트를 사용하여 SQL 로그인복사 하는 것을 좋아 합니다 .SQL 인증 사용자는 암호와 보안 식별자를 동일하게 유지하여 해당 로그인의 데이터베이스 사용자가 작동하기 때문입니다. 또한 일반적으로 복사 할 항목을 복사하기 위해 하위 명령을 실행 하는 전체 SQL Server 마이그레이션 명령 이 있습니다.

나는 Max가 그 대답에 틀렸다고 믿지 않기 때문에 공감대가 아닙니다. 나는 방금 더 많은 성공과 행운을 얻었으며 버전 간 시스템 데이터베이스를 복원하려고 시도하는 대신 새 버전으로 마이그레이션하는 것이 더 편안하다고 생각합니다. 솔직히 마지막으로 버전 업그레이드 마이그레이션을했을 때를 기억하지 못하고 시스템 데이터베이스를 복원하는 대신이 방법으로하지 않았다고 말하고 싶습니다.


답변 주셔서 감사합니다. 2005에서 2016으로 업그레이드하고 싶지 않습니다. 더 이상 SQL Server 2005에서 더 이상 사용하지 않는 인스턴스에서 2016 년에 기존 인스턴스로 데이터베이스를 마이그레이션하려고합니다.이 마이그레이션은 아직 승인되지 않았지만 언제 준비하고 싶습니다. 그렇습니다. 기본적으로 SSIS 패키지를 쿼리하고 만드는 한 SQL 경험이있는 유일한 사람이기 때문에이 프로젝트를 받았습니다. 호환성 문제에 대해서도 우려했습니다. 다시 한번 감사합니다.
Robert

물론 – 2005 년에서 2016 년으로 이전 할 때 업그레이드를하고 있습니다. 업그레이드 및 마이그레이션을 수행하고 있습니다. 한 버전의 SQL에서 다른 버전의 데이터베이스로 데이터베이스를 가져 오기 때문에 업그레이드가 반드시 필요합니다. 데이터베이스에서 업그레이드 관리자를 실행해야합니다.
Mike Walsh

SQL Server 2005가 Windows Server 2003 R2 x86에 의해 호스팅되고 SQL Server 2016이 최신 OS에있는 경우 어떻게해야합니까?
Robert

@ MikeWalsh 나는 당신이 당신의 응답에서 설명한 거의 모든 것에 동의합니다. SQL 업그레이드 / 마이그레이션을 수행 할 때 나도 거의 모든 내용을 따릅니다
nam

4

해당 데이터베이스에 저장된 메타 데이터에 액세스해야하는 경우 시스템 데이터베이스 (마스터, msdb 및 모델)를 마이그레이션하는 것이 좋습니다.

마스터는 로그인, 보안 인증서 등과 같은 항목을 저장합니다.

msdb에는 백업에 대한 세부 정보가 포함되어 있으며 SQL Server 에이전트 작업 구성과 기타 세부 정보가 저장됩니다.

새로 작성된 빈 데이터베이스에 모든 데이터베이스에서 사용하는 사전 정의 된 오브젝트 세트를 포함 할 수 있도록 모델이 사용자 또는 팀에 의해 사용자 정의되었을 수 있습니다.

시스템 데이터베이스 마이그레이션은 상당히 쉽게 수행 할 수 있습니다. 자세한 지침은 MSDN 의 시스템 데이터베이스 백업 및 복원 (SQL Server)에서 제공 됩니다.

요구 사항 BACKUP DATABASE에 따라 2005 인스턴스의 사용자 데이터베이스에 대해 작업을 수행 한 다음 RESTORE DATABASE2016 인스턴스에서 모든 데이터, 인덱스 및 기타 개체를 포함한 전체 데이터베이스를 가져올 수 있습니다.

최소한 초기에는 2005 인스턴스의 데이터베이스에서 사용하는 것과 동일한 양의 공간이 필요합니다. 그러나 데이터베이스를 복원 한 후에는 데이터 압축을 활용하여 필요한 공간을 크게 줄일 수 있습니다.

참조 SQL 서버 백업 작업에 대한 백업 수행에 대한 자세한 내용 및 소개 시나리오를 복원 복원에 대한 자세한 내용은.


2

2012 년 또는 2016 년입니까? IIRC 2012는 테스트 된 마이그레이션 경로이지만 2016은 그렇지 않습니다. 따라서 알려진 문제는 문서화 및 / 또는 2012 년 업그레이드 관리자에 의해 포착 될 것입니다. 테스트되지 않은 경로는 여전히 문제없이 작동 할 수 있습니다. 즉, 2016 년에 갈 것을 강력히 권장합니다. 노력은 거의 같습니다.

SQL Server 2005에서 업그레이드하고 있습니까?를 참조하십시오 . 2005 업그레이드 옵션 설명서 및 매우 상세한 업그레이드 프로세스 링크. 업그레이드 프로세스는 2014 년에 작성되었지만 2016 년에도 계속 적용됩니다.


1
죄송합니다
Robert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.