2011-08-18 3 views
0

우리 회사에서는 각 고객을위한 개별 데이터베이스가 있으므로 모든 고객이있는 하나의 큰 데이터베이스를 갖게됩니다. 우리는 ASP에서 마이그레이션 스크립트를 작성하여 데이터를 새로운 데이터베이스로 마이그레이션하는 데 어려움을 겪었습니다. 이 이주 스크립트는 대량의 데이터를 이주해야하는이 특정 고객까지 작동합니다. 두 테이블 사이에는 대략 650 만 개의 행이 마이그레이션되는 4 개의 특정 테이블이 있습니다. 2 개의 데이터베이스간에 데이터를 마이그레이션 할 때 치명적인 오류가 발생했습니다.

Microsoft OLE DB Provider for SQL Server error '80004005' 

Warning: Fatal error 7105 occurred at Aug 17 2011 4:10PM. Note the error and time, and contact your system administrator. 

그래서 내가 몇 가지 궁금 해요 :이 특정 고객을 위해 ASP 스크립트 어딘가에 우리는 다음과 같은 오류가 선 아래로 다음 시간 이상에 잘 실행합니다. 위의 오류는 무엇을 의미합니까? 또한이 방대한 양의 데이터를 마이그레이션하는 더 좋은 방법이 있는지 궁금합니다. 저장 프로 시저 (같은 큰 ASP 스크립트를 작성한 후에 큰 프로 시저를 작성해야하는 것을 싫어할지라도)가 동일한 결과로 끝나겠습니까? 상황을 더 잘 설명하기 위해 한 DB에서 다른 DB로 직접 덤프되지는 않습니다. 이전 db의 레코드가 이동되면 새 ID가 할당되고 그 외의 위치에서는 외래 키로 참조되는 ID가 있으면 새 ID로 그에 맞게 업데이트해야합니다.

내 질문에 대한 답변에 필요한 모든 필수 정보를 생략하면 알려 주시면 질문 게시글을 업데이트하겠습니다.

감사합니다.

답변

0

제 질문의 일부만 답변해도 좋지만 ... 마이그레이션 스크립트가 실패한 테이블에 대해 DBCC CHECKTABLE을 실행해야했습니다. 해당 검사를 통해 오류를 발견 한 후 오류를 수정하기 위해 매개 변수를 사용하여 DBCC CHECKTABLE (table_name, repair_allow_data_loss) 오류를 다시 한번 실행했습니다. 실행 후 테이블이 복구되었고 마이그레이션 스크립트가 정상적으로 실행되었습니다.

관련 문제