SQL 데이터베이스 테스트: 롤백을 위해 데이터베이스 상태를 캡처하는 방법

SQL 데이터베이스 테스트: 롤백을 위해 데이터베이스 상태를 캡처하는 방법

개발 환경에 SQL 서버(MS SQL 2005)가 있습니다. 데이터베이스에 연결하고 일부 작업을 수행하는 일부 .net 코드에 대한 단위 테스트 모음이 있습니다. 테스트 중인 코드가 올바르게 작동한다면 데이터베이스는 테스트 전과 동일(또는 유사한) 상태여야 합니다.

그러나 테스트가 실행되기 전의 상태로 데이터베이스를 롤백하고 싶습니다. 이를 수행하는 한 가지 방법은 프로그래밍 방식으로 트랜잭션을 사용하여 각 테스트 작업을 롤백하는 것이지만 프로그래밍하기가 어렵고 번거롭습니다. 테스트 코드에서 쉽게 오류가 발생할 수 있습니다.

내 테이블이 파괴되면 신속하게 복원할 수 있다는 사실을 알고 자신있게 테스트를 실행할 수 있기를 원합니다.

데이터베이스를 테스트 전 상태로 쉽게 복원할 수 있도록 데이터베이스 중 하나의 스냅샷을 테이블과 함께 저장하는 좋은 방법은 무엇입니까?

답변1

Transact-SQL 백업 및 복원 루틴을 사용하지 않는 이유는 무엇입니까?

MSDN 문서를 살펴보세요.여기그리고여기.

답변2

SQL Server 2008을 사용하고 있다면 다음을 수행할 수 있습니다.스냅 사진, 모든 테스트를 실행한 후 다음을 사용하여 데이터베이스를 스냅샷 지점으로 다시 복원합니다.

 RESTORE DATABASE <database_name> FROM DATABASE_SNAPSHOT

관련 정보