SQL Server : 트랜잭션 로그의 크기를 어떻게 늘리나요?
-
06-07-2019 - |
문제
트랜잭션 로그의 크기를 어떻게 늘리나요? 트랜잭션 로그를 일시적으로 늘릴 수 있습니까?
다음 시나리오가 있다고 가정 해 봅시다. 현재 트랜잭션 로그에 비해 너무 큰 삭제 작업이 있습니다. 나는 다음과 같습니다.
- 트랜잭션 로그를 늘리십시오 (현재 크기를 감지 할 수 있습니까?, 내 작업을 위해 트랜잭션 로그가 얼마나 큰지 알 수 있습니까?)
- (내 작업 수행)
- 트랜잭션 로그를 백업하십시오
- 트랜잭션 로그의 크기를 복원하십시오.
해결책
짧은 대답:
- SQL 2K5/2K8 방법 : 데이터베이스의 크기 증가 (SQL Server Management Studio) (로그에도 적용), 방법 : 데이터베이스 축소 (SQL Server Management Studio)
- SQL 2K 데이터베이스의 크기를 늘리는 방법 (Enterprise Manager), 데이터베이스 축소 방법 (Enterprise Manager)
긴 대답 : 사용할 수 있습니다 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 구성 :
- Management Studio의 데이터베이스를 마우스 오른쪽 버튼으로 클릭하십시오.
- 속성을 선택하십시오
- AutoGrowth 값을 업데이트하십시오
가장 중요한 부분은 시나리오의 마지막 줄입니다. "트랜잭션 로그의 크기를 복원하십시오." 당신은 로그를 원래 크기로 줄이려한다는 것을 의미합니다.
이것은 여러 가지 이유로 정말 위험하며 SQLServerpedia에서 몇 가지 이야기로 다루었습니다.