웹 서버에 SQL 2008 db를 시뮬레이트 한 SQL 2008이 있고 환경 테스트를위한 로컬 SQL 2005 db가 있습니다.SQL 로그 및 활성 트랜잭션
이렇게하면 2008 서버 백업이 2005 서버로 복원되지 않으므로 테스트 용 데이터 백업/복원을위한 스크립트를 사용할 수 있습니다. 내 생산 웹 SQL 서버에서 테이블의 크기를 줄이기 위해이 SQL 쿼리를 실행할 때
는 (2008)
DELETE FROM TickersDay
WHERE (DATEDIFF(day, TickersDay.[date], GETDATE()) >= 8)
GO
나는이 메시지를 얻을 :
Msg 9002, Level 17, State 4, Line 3
The transaction log for database 'VTNET' is full. To find out why space in the log
cannot be reused, see the log_reuse_wait_desc column in sys.databases
그것은 나오면을 때 때때로 스크립트를 게시하십시오.
SELECT [name], recovery_model_desc, log_reuse_wait_desc
FROM sys.databases
결과 : 여기
[name] recovery_model_desc log_reuse_wait_desc
VTNET SIMPLE ACTIVE_TRANSACTION
내 질문과 문제입니다 :이 SQL 명령을 실행하면
나는 다음과 같은 결과 얻을 나는 그것을 얻을
- 을 .. 롤백 명령이 필요한 트랜잭션 문이 있습니다.
< 경우 @@ TRANCOUNT> 0 롤백> ..하지만 난 그렇게하기 전에, 그래서 내가 100 저장 프로 시저를 가지고 .... 그동안
는 ... 내가 어떻게이 문제를 근절 할 수 ?? 나는 SHRINKING을 시도했고 Db를 백업하려고 시도했다. ...
위에서 볼 수 있듯이 SIMPLE 모드이다 ... LOG ONLY 파일을 백업하는 방법을 모른다. ...) 그 작업을 수행하는 방법을 발견하지 않았습니다
자세한 설명과 여러 답변을 주셔서 감사합니다. 확실하지 않은 작업은 있지만 크기를 늘리고 제한되지 않고 사용했으며 쿼리를 사용하여 훌륭하게 작동합니다. 충분히 커밋되지 않은 트랜잭션 bs ... 나중에 걱정할 것입니다. – CraigJSte