트랜잭션 로그 없이 SQL 서버 DB 복원
SQL Server 2008 지정 .bak
파일, 데이터 파일만 복원할 수 있는 방법이 있습니까?.bak
파일, 트랜잭션 로그 없이?
제가 요청하는 이유는 이 데이터베이스의 트랜잭션 로그 파일 크기가 제가 쉽게 사용할 수 있는 디스크 공간을 초과하기 때문입니다.
저는 거래 기록에 관심이 없으며, 완료되지 않은 거래에도 관심이 없습니다.일반적으로 데이터베이스를 복원한 후에는 로그를 0으로 축소합니다.그러나 디스크 공간이 부족하여 로그를 생성할 수 없는 경우에는 도움이 되지 않습니다.
Server에 입니다..bak
트랜잭션 로그가 아닌 파일입니다.그렇게 할 수 있는 방법이 없을까요?
로 저는 참로나다세제수없다니습어의 할 수 ..bak
파일 - 외부 소스에서 가져온 것입니다. 전 축소.bak
파일은 옵션이 아닙니다.
트랜잭션 로그는 백업에 필수적인 부분입니다.SQL Server에 트랜잭션 로그 파일을 동시에 복원하고 축소할 수 있는 방법이 없으므로 트랜잭션 로그를 무시하도록 지시할 수 없습니다.그러나 DBA 게시물을 보고 프로세스를 해킹할 수 있습니다. 권장하지는 않습니다.
또는 복원을 위한 타사 도구, 특히 공간과 시간을 많이 절약할 수 있는 가상 복원 프로세스를 사용해 볼 수 있습니다.ApexSQL Restore, RedGate Virtual Restore, Idera Virtual Database를 확인하십시오.
고지 사항:저는 ApexSQL에서 지원 엔지니어로 일하고 있습니다.
아니요, 트랜잭션 로그가 필요합니다.
옵션 1:
공간이 충분한 컴퓨터에 복원하는 방법도 있습니다.그런 다음 복원된 복사본에서 로깅을 대량 로깅 또는 단순 로깅으로 변경하고 로그를 축소한 다음 이 새 복사본에서 다른 백업 작업을 수행한 다음 이 작업을 사용하여 훨씬 더 작은 트랜잭션 로그로 대상 시스템에 복원합니다.
옵션 2:
또는 외부 소스의 연락처가 트랜잭션 로그를 보내기 전에 트랜잭션 로그를 축소할 수 있습니다(대량 트랜잭션으로 인해 로그가 크면 작동하지 않을 수 있습니다).
로그 파일을 축소하는 명령에 대한 문서는 여기에서 사용할 수 있습니다.
이는 서버 장애 또는 DBA 사이트에 대한 질문이지만, 간단히 말해 "아니오"입니다. 즉, 전체 .bak 파일만 복원할 수 있습니다(파일 그룹 또는 부분 복원과 같은 '이외적인' 시나리오는 제외)."크다"라는 것이 무엇을 의미하는지는 알 수 없지만 디스크 공간은 저렴합니다. 추가하는 것이 실제로 옵션이 아니라면 외부 소스에서 데이터를 가져올 수 있는 다른 방법을 찾아야 합니다.
.bak 파일 생성을 제어할 수 없기 때문에 작동하지 않을 수도 있지만, 데이터베이스를 분리한 다음 .mdf 파일의 복사본을 직접 보내도록 소스를 설득할 수 있다면 .mdf를 첨부하면 서버가 자동으로 새 빈 트랜잭션 로그 파일을 만들 수 있습니다.
sp_detach_db 및 sp_attach_db를 참조하십시오(또는 SQL 서버 버전에 따라 CREATE DATABASE database_name FOR Attach).
이 스레드가 오래된 스레드라는 것은 알지만 트랜잭션 로그 손상 문제가 발생하는 동안 우연히 발견했습니다. 다음은 데이터 손실 없이 해결한 방법입니다(하지만 다운타임은 있었습니다!).
제가 한 일은 이렇습니다.
sql server 인스턴스 서비스를 중지하여 영향을 받는 데이터베이스 .mdf 파일 및 .ldf 파일의 복사본을 만듭니다(.ndf 파일이 있는 경우 이 복사본도 복사하십시오!). 만약 사용자에게 적합하지 않다면 언제든지 다시 저장할 수 있습니다.
서비스를 다시 시작합니다.
sql management studio에 로그인하고 데이터베이스 모드를 단순으로 변경한 다음 전체 백업을 수행합니다.
데이터베이스 유형을 다시 변경하고 전체 백업을 다시 수행한 다음 트랜잭션 로그 백업을 수행합니다.
데이터베이스를 분리합니다.
데이터베이스를 마우스 오른쪽 단추로 클릭하고 복원을 클릭한 다음 드롭다운 목록에서 데이터베이스 이름을 선택하고 나중에 생성된 전체 데이터베이스 백업(단순 모드에서 생성된 백업이 아님)을 선택하고 트랜잭션 로그 백업도 선택합니다.
복원을 클릭하면 로그 파일이 손상되지 않고 모두 복원됩니다.
이 작업은 오류 없이 수행되었으며 이후 모든 백업이 올바르게 작동했으며 더 이상 트랜잭션 로그 오류가 발생하지 않았습니다.
언급URL : https://stackoverflow.com/questions/8413780/restore-sql-server-db-without-transaction-log
'programing' 카테고리의 다른 글
iPad용 Safari에서 jQuery를 사용하여 터치 이벤트를 인식하려면 어떻게 해야 합니까?가능합니까? (0) | 2023.08.07 |
---|---|
Info.plist에서 버전 읽기 (0) | 2023.08.07 |
int 값이 10 미만이면 문자열 두 자리 숫자로 변환됩니다. (0) | 2023.08.07 |
jQuery 및 AJAX의 SSL 인증서 무시 오류 (0) | 2023.08.07 |
범위 검색 대 고유 검색 대 건너뛰기 검색 (0) | 2023.08.07 |