Udostępnij za pośrednictwem


Dzienniki transakcji programu Exchange Server są generowane z wysoką szybkością

Oryginalny numer KB: 3060278

Symptomy

Dzienniki transakcji na serwerze skrzynek pocztowych opartych na programie Microsoft Exchange Server są generowane w tempie wyższym niż oczekiwano. Za pomocą narzędzia ExMon można sprawdzić, czy co najmniej jeden użytkownik generuje największą liczbę dzienników. Wyłączenie programu Exchange ActiveSync dla użytkownika lub użytkowników powoduje zmniejszenie woluminu dziennika transakcji.

Przyczyna

Ten problem zwykle występuje, gdy żaden filtr nie jest stosowany do co najmniej jednego folderu na urządzeniu. Powoduje to zwiększenie stanu synchronizacji folderu lub folderów do kilku megabajtów. Każde żądanie odebrane przez program Exchange ponownie generuje stan synchronizacji i tworzy kilka nowych plików dziennika za każdym razem, gdy żądanie zostanie odebrane.

Rozwiązanie

Aby rozwiązać ten problem, zastosuj zasady skrzynki pocztowej programu Exchange ActiveSync, które wymusza maksymalną liczbę dni synchronizacji.

Poniższe przykładowe zasady zmieniają maksymalny wiek wiadomości e-mail na dwa tygodnie:

Set-MobileDeviceMailboxPolicy Default -MaxEmailAgeFilter TwoWeeks
Set-ActiveSyncMailboxPolicy Default -MaxEmailAgeFilter TwoWeeks

Więcej informacji

Aby zidentyfikować użytkowników i foldery z dużymi stanami synchronizacji, można użyć następującego zapytania analizatora dzienników programu Studio:

/* Sync state greater than 2 MB */
SELECT Count(*) AS Hits,
EXTRACT_VALUE(cs-uri-query,'User') AS User,
EXTRACT_VALUE(cs-uri-query,'DeviceType') AS DeviceType,
EXTRACT_VALUE(cs-uri-query,'DeviceId') AS DeviceId,
EXTRACT_VALUE(cs-uri-query,'Cmd') AS Cmd,
EXTRACT_PREFIX(EXTRACT_SUFFIX(cs-uri-query, 0, '_Fid:'), 0, '_') As FolderId,
AVG(TO_INT(EXTRACT_PREFIX(EXTRACT_SUFFIX(SUBSTR(cs-uri-query, INDEX_OF(cs-uri-query, '_Sst')), 0, '_Sst'), 0, '_'))) AS AvgSyncStateSize,
AVG(TO_INT(EXTRACT_PREFIX(EXTRACT_SUFFIX(SUBSTR(cs-uri-query, INDEX_OF(cs-uri-query, '_SsCmt')), 0, '_SsCmt'), 0, '_'))) AS AvgSyncStateCommitSize,
EXTRACT_PREFIX(EXTRACT_SUFFIX(cs-uri-query, 0, '_Filt'), 0, '_') As Filter,
EXTRACT_PREFIX(EXTRACT_SUFFIX(cs-uri-query, 0, '_Ty:'), 0, '_') As Type
USING
TO_INT(EXTRACT_PREFIX(EXTRACT_SUFFIX(SUBSTR(cs-uri-query, INDEX_OF(cs-uri-query, '_Sst')), 0, '_Sst'), 0, '_')) AS SyncSize
FROM '[LOGFILEPATH]'
WHERE cs-uri-query LIKE '%Cmd=Sync%'
AND SyncSize > 2000
GROUP BY DeviceId, DeviceType, Cmd, User, FolderId, Filter, Type
ORDER BY Hits, AvgSyncStateSize DESC