문제

트랜잭션 로그의 크기를 어떻게 늘리나요? 트랜잭션 로그를 일시적으로 늘릴 수 있습니까?

다음 시나리오가 있다고 가정 해 봅시다. 현재 트랜잭션 로그에 비해 너무 큰 삭제 작업이 있습니다. 나는 다음과 같습니다.

  • 트랜잭션 로그를 늘리십시오 (현재 크기를 감지 할 수 있습니까?, 내 작업을 위해 트랜잭션 로그가 얼마나 큰지 알 수 있습니까?)
  • (내 작업 수행)
  • 트랜잭션 로그를 백업하십시오
  • 트랜잭션 로그의 크기를 복원하십시오.
도움이 되었습니까?

해결책

짧은 대답:

긴 대답 : 사용할 수 있습니다 ALTER DATABASE ... MODIFY FILE 로그 파일을 포함한 데이터베이스 파일의 크기를 변경합니다. 당신은 찾아 볼 수 있습니다 master_files/sysfiles (2k) 또는 <dbname>.sys.database_files (2k5/2k8) 로그의 논리 이름을 얻으려면. 그리고 당신은 사용할 수 있습니다 DBCC SHRINKFILE 파일을 축소하려면 (가능하면).

내 작업을 위해 트랜잭션 로그가 얼마나 큰지 알 수 있습니까?

그것은 많은 요소에 따라 다릅니다 (이 새로운 데이터입니까? 업데이트입니까? 삭제입니까? 어떤 복구 모델입니까? SQL 2K8에 압축이 있습니까? 등에 대한 압축이 있습니까? 수행하려는 업데이트 크기의 2.5 배를 추정합니다.

업데이트:

당신이 삭제라고 그리워합니다. 대략적인 추정치는 삭제 된 데이터 크기의 1.5 배입니다 (모든 인덱스 포함).

다른 팁

트랜잭션 로그를 필요에 따라 확장하도록 구성 할 수 있습니다. 자동으로 성장하도록 옵션을 설정했습니다. 그러나 트랜잭션 로그가 너무 커지거나 (디스크 공간이 부족하거나) SQL Server를 사용할 수 없습니다.

트랜잭션 로그를 백업하십시오. SQL은 비활성 거래를 자동으로 자릅니다

트랜잭션 로그를 복원하면 줄어 듭니다

AutoGrow 구성 :

  1. Management Studio의 데이터베이스를 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 속성을 선택하십시오
  3. AutoGrowth 값을 업데이트하십시오

가장 중요한 부분은 시나리오의 마지막 줄입니다. "트랜잭션 로그의 크기를 복원하십시오." 당신은 로그를 원래 크기로 줄이려한다는 것을 의미합니다.

이것은 여러 가지 이유로 정말 위험하며 SQLServerpedia에서 몇 가지 이야기로 다루었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top