2010-07-27 1 views
2

영업 직원이 점심 식사를하는 동안 SQL Server 2008 데이터베이스를 마이그레이션했습니다. 전체 백업을 수행 한 다음 새 SQL Server 설치로 복원 한 새 서버에 백업을 복사했습니다.SQL Server 데이터베이스 "전체 백업"에 최근 데이터가 포함되어 있지 않은 이유는 무엇입니까?

직원이 점심 식사에서 돌아와 점심 식사 직전에 넣은 최근 거래 중 일부가 더 이상 시스템에 나타나지 않는다고 나에게 말했다. 조사가 끝나자 백업이 수행되기 전에 전체 백업에 데이터베이스에 추가 된 최신 데이터 일부가 포함되지 않은 것 같습니다.

나는 트랜잭션 로그와 관련되어 있다고 생각하지 않지만 MSSQL 전문가가 아닌 것으로 의심된다. ​​내가 잘못하고있는 것이 확실하지 않다. 누군가가 올바른 방향으로 나를 가리킬 수 있을까요?

+0

이 기사를 읽으면 SQL 백업 작동 방식을 쉽게 이해할 수 있습니다. http://technet.microsoft.com/en-us/magazine/2009.07.sqlbackup.aspx –

답변

2

데이터베이스 만 백업했거나 트랜잭션 로그를 백업 했습니까? 내 생각 엔 아직 트랜잭션 로그를 백업하지 않았다는 것입니다. 트랜잭션 로그에는 아직 mdb 파일로 플러시되지 않은 최근 트랜잭션이 포함됩니다.

+0

또한 백업이 완료된 후에도 데이터를 추가 할 수있었습니다. – HLGEM

+0

백업을 수행 한 후에 아무도 아무 데이터도 추가하지 않았습니다. –

+0

"전체 백업"을 수행했습니다. 트랜잭션 로그를 포함하거나 제외 할 수있는 활성화 된 옵션을 찾을 수 없었으므로 모든 것을 포함하는 것으로 가정해야했습니다. –

0

이렇게하면 업무 시간 중에 절대 이런 일을하지 않게됩니다! 다음에 주말에이 작업을 수행하고 단일 사용자 모드로 설정하여 사용자에게 데이터베이스를 닫습니다. 백업 후 또는 처음에 데이터를 잠그지 않은 경우 데이터를 추가 할 수 있습니다.

+0

아니요, 그렇지 않았습니다. 그중 몇 가지가 있으며 나는 그들 모두에게 점심을 먹으라고했습니다. –

+0

백업 중에 추가 된 경우 전체 백업에도 포함됩니다. 데이터베이스 백업은 백업이 완료된 시점의 전체 데이터베이스를 나타냅니다. –

0

열린 트랜잭션에서 데이터가 입력되었을 수 있습니다. 백업은 ACID 모델을 준수해야하므로 백업이 시작되기 전에 트랜잭션이 시작되고 백업이 완료 될 때까지 커밋되지 않은 경우 데이터베이스를 복원 할 때 트랜잭션이 롤백됩니다.

+0

나는 약 1 시간 후에 돌아가서 "누락 된"데이터가 있음을 확인한 후 원본 데이터베이스의 또 다른 전체 백업을 시도했으며 전체 백업은 마지막 몇 행의 데이터가 누락 된 버전을 생성했습니다 데이터베이스에 추가되었습니다. –

관련 문제