SQL 2005: Czy możemy ustalić, o ile zadanie konserwacji indeksu odbudowania może zwiększyć pliki dziennika bazy danych?

10

Czy na serwerze SQL 2005, jeśli wszystkie bazy danych są w trybie pełnym (z godzinnymi kopiami zapasowymi dziennika transakcji), czy można ustalić, czy odbudowanie wszystkich indeksów bazy danych może spowodować wzrost pliku dziennika bazy danych? A ile może wzrosnąć?

Jeśli nie ma jednoznacznej odpowiedzi, wszelkie wskazówki byłyby bardzo mile widziane.

Z góry dziękuję.

Manjot
źródło

Odpowiedzi:

9

Tak, powinieneś zapoznać się z doskonałą dokumentacją na ten temat, chociaż odnosi się ona do przebudowy indeksu online, nadal ma wiele dobrych informacji

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

Jeśli pliki dziennika rosną automatycznie, informacje można znaleźć przy użyciu domyślnego śledzenia po zakończeniu akcji.

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; 
--
Sankar Reddy
źródło
7

Jest nie tylko możliwe wykrycie, czy operacje indeksowania DDL zwiększają plik dziennika, jest to domyślna linia akcji. Wszystkie operacje na indeksie są rejestrowane w bazie danych, która korzysta z pełnego modelu odzyskiwania.

Radzę przeczytać następujący artykuł o MSDN: Określanie wymagań dotyczących miejsca na dysku indeksu .

Z trzeciego rozdziału - Przestrzeń dyskowa dziennika transakcji dla operacji indeksu tego artykułu zacytuję:

Operacje na indeksie na dużą skalę mogą generować duże obciążenia danych, co może spowodować, że dziennik transakcji zapełni się szybko. Aby upewnić się, że operacja indeksu może zostać wycofana, dziennika transakcji nie można obciąć, dopóki operacja indeksu nie zostanie zakończona, jednak dziennik można wykonać kopię zapasową podczas operacji indeksowania, dlatego dziennik transakcji musi mieć wystarczającą ilość miejsca do przechowywania zarówno transakcji operacji indeksu, jak i wszelkich transakcji użytkownika współbieżnego przez czas trwania operacji indeksu.Dotyczy to zarówno operacji indeksu offline, jak i online. Ponieważ do bazowych tabel nie można uzyskać dostępu podczas operacji indeksu offline, może być kilka transakcji użytkownika, a dziennik może nie rosnąć tak szybko. Operacje indeksowania online nie zapobiegają równoczesnej aktywności użytkownika, dlatego wielkoskalowe operacje indeksowania online w połączeniu ze znaczącymi transakcjami współbieżnych użytkowników mogą powodować ciągły wzrost dziennika transakcji bez opcji skracania dziennika. „

Marian
źródło