SQL 2005 : 재 구축 인덱스 유지 관리 작업이 데이터베이스 로그 파일을 얼마나 많이 증가시킬 수 있는지 결정할 수 있습니까?


10

SQL Server 2005에서 모든 데이터베이스가 전체 모드 (시간별 트랜잭션 로그 백업 사용) 인 경우 데이터베이스의 모든 인덱스를 다시 작성하면 데이터베이스의 로그 파일이 커질 수 있는지 확인할 수 있습니까? 그리고 얼마나 성장할 수 있습니까?

정답이 없다면 어떤 지시라도 정말로 감사하겠습니다.

미리 감사드립니다.

답변:


9

예, 온라인 인덱스 재 구축에 관한 내용이지만 여전히 좋은 정보가 많이 있습니다.

http://technet.microsoft.com/en-us/library/cc966402.aspx

로그 파일이 자동으로 증가하는 경우 조치가 완료된 후 기본 추적을 사용하여 해당 정보를 찾을 수 있습니다.

DECLARE @filename VARCHAR(255) 
SELECT @FileName = SUBSTRING(path, 0, LEN(path)-CHARINDEX('\', REVERSE(path))+1) + '\Log.trc'  
FROM sys.traces   
WHERE is_default = 1;  

--Check if the data and log files auto-growed. Look for tempdb, log files etc.
SELECT 
    gt.ServerName
    , gt.DatabaseName
    , gt.TextData
    , gt.StartTime
    , gt.Success
    , gt.HostName
    , gt.NTUserName
    , gt.NTDomainName
    , gt.ApplicationName
    , gt.LoginName
FROM [fn_trace_gettable](@filename, DEFAULT) gt 
JOIN sys.trace_events te ON gt.EventClass = te.trace_event_id 
WHERE EventClass in ( 92, 93 ) --'Data File Auto Grow', 'Log File Auto Grow'
ORDER BY StartTime; 
--

7

인덱스 DDL 조작이 로그 파일을 증가시키는 지 여부를 감지 할 수있을뿐만 아니라 기본 조치 행입니다. 모든 인덱스 작업은 전체 복구 모델을 사용하는 데이터베이스에 기록됩니다.

MSDN에서 다음 기사를 읽어 보시기 바랍니다 . 인덱스 디스크 공간 요구 사항 결정 .

세 번째 장- 해당 기사의 인덱스 작업위한 트랜잭션 로그 디스크 공간에서 인용하겠습니다.

" 대규모 인덱스 작업을 수행하면 트랜잭션 로그가 빠르게 채워질 수있는 큰 데이터로드가 생성 될 수 있습니다. 인덱스 작업을 롤백 할 수 있도록 인덱스 작업이 완료 될 때까지 트랜잭션 로그가 잘리지 않습니다. 그러나 로그 인덱스 작업 중에 백업 로그를 백업 할 수 있으므로 트랜잭션 로그에는 인덱스 작업 기간 동안 인덱스 작업 트랜잭션과 동시 사용자 트랜잭션을 모두 저장할 수있는 충분한 공간이 있어야합니다.오프라인 및 온라인 인덱스 작업 모두에 해당됩니다. 오프라인 인덱스 작업 중에는 기본 테이블에 액세스 할 수 없으므로 사용자 트랜잭션이 거의없고 로그가 빠르게 커지지 않을 수 있습니다. 온라인 인덱스 작업은 동시 사용자 활동을 방해하지 않으므로 상당한 동시 사용자 트랜잭션과 결합 된 대규모 온라인 인덱스 작업은 로그를 자르는 옵션 없이도 트랜잭션 로그가 계속 커질 수 있습니다. "

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.