내 PC의 로컬 SQL Server Developer Edition 12.0.2000.8에서 개발 목적으로 데이터베이스를 설정하려고합니다. 전체 데이터베이스 백업과 네트워크를 통해 나에게 전송 된 별도의 트랜잭션 로그 전용 백업 파일이 있습니다.
전체 백업에서 복원하려고 할 때 일정 시간이 지나면 (약 1 시간, 데이터베이스 크기는 ~ 270GB) 오류가 발생합니다.
System.Data.SqlClient.SqlError : 'database name'데이터베이스의 로그를 처리하는 중에 오류가 발생했습니다. 가능하면 백업에서 복원하십시오. 백업을 사용할 수 없으면 로그를 다시 작성해야 할 수도 있습니다. (Microsoft.SqlServer.SmoExtended)
이 후 db는 'Restoring ..'상태입니다.
내가 좋아하는 뭔가 (에서 그것을 가지고 실행하고 싶었 이 질문에)
ALTER DATABASE recovery_test_2 SET EMERGENCY;
ALTER DATABASE recovery_test_2 SET SINGLE_USER;
DBCC CHECKDB (recovery_test_2, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS;
데이터베이스가 'Restoring ..'상태이므로 당연히 복구 프로세스를 다시 시작하면 동일한 오류 메시지가 발생하여 삭제 및 복원해도 도움이되지 않습니다.
DB를 설치하고 작동시키는 방법은 무엇입니까? 거래 일관성은 중요하지 않습니다.
SSMS 자동 생성 복원 스크립트 :
USE [master]
RESTORE DATABASE [database_name] FROM DISK = N'D:\database_name.bak' WITH FILE = 1,
MOVE N'database_name' TO N'D:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\DATA\database_name.mdf',
MOVE N'database_name_index' TO N'D:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\DATA\database_name_index.ndf',
MOVE N'database_name_log' TO N'D:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\DATA\database_name_log.ldf',
NOUNLOAD,
STATS = 5
GO
@Craig Efrein이 제안한 쿼리 결과
데이터베이스가 종료되었거나 데이터베이스에 체크 포인트가 없거나 데이터베이스가 읽기 전용 일 때 열린 트랜잭션 / 사용자가 있었기 때문에 로그를 다시 작성할 수 없습니다. 이 오류는 하드웨어 또는 환경 오류로 인해 트랜잭션 로그 파일이 수동으로 삭제되거나 손실 된 경우 발생할 수 있습니다.