SQL 2005: Можем ли мы определить, насколько работа по восстановлению индекса может увеличить файлы журнала базы данных?

10

На SQL Server 2005, если все базы данных находятся в полном режиме (с ежечасным резервным копированием журнала транзакций), можно ли определить, может ли перестройка всех индексов базы данных увеличить размер файла журнала базы данных? И сколько это может вырасти?

Если нет прямого ответа, то любые указания будут по достоинству оценены.

Заранее спасибо.

Manjot
источник

Ответы:

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: Определение требований к месту на диске .

Из третьей главы - Дисковое пространство журнала транзакций для операций с индексами этой статьи я процитирую:

« Крупномасштабные операции с индексами могут генерировать большие объемы данных, что может привести к быстрому заполнению журнала транзакций. Чтобы обеспечить возможность отката операции с индексом, журнал транзакций нельзя усекать, пока операция с индексом не завершится; однако, журнал может быть сохранено во время операции индекса. Поэтому в журнале транзакций должно быть достаточно места для хранения как транзакций операции индекса, так и любых параллельных пользовательских транзакций в течение всей операции индекса.Это верно как для автономных, так и для онлайн операций с индексами. Поскольку доступ к базовым таблицам невозможен во время автономной операции с индексами, пользовательских транзакций может быть немного, и журнал может расти не так быстро. Операции с индексами в режиме онлайн не предотвращают одновременную активность пользователей, поэтому крупномасштабные операции с индексами в сети в сочетании со значительными параллельными пользовательскими транзакциями могут вызывать непрерывный рост журнала транзакций без возможности усекать журнал. "

Мэриан
источник