Ten monitor wykrywa, czy procesy partycjonowania i pielęgnacji kończyły się niepowodzeniem przez zbyt duża liczbę dni pod rząd.
Procesy uruchomione w celu partycjonowania i pielęgnowania danych zapisanych w operacyjnej bazie danych nie zakończyły się pomyślnie w ostatnim czasie. Jeśli te procesy będą dalej kończyły się niepomyślnie, wydajność operacyjnej bazy danych zostanie obniżona, co spowolni działanie całej grupy zarządzania. Wreszcie operacyjna baza danych zostanie całkowicie zapełniona i grupa zarządzania przestanie działać.
Monitor może zostać zastąpiony w celu udostępnienia innej konfiguracji:
Interwał w sekundach: Ustaw częstotliwość oceny stanu monitora
Maksymalna liczba dni od ostatniego powodzenia: Ustaw maksymalną liczbę dni, które mogą upłynąć bez pomyślnego zakończenia partycjonowania i pielęgnowania, zanim zostanie to uznane za problem.
Liczność próbki: Ustaw liczność próbki przed zmianą stanu i wysłaniem alertu.
Przyczyną wygenerowania tego alertu jest niepomyślne zakończenie procesu partycjonowania i pielęgnowania w ostatnim czasie. Domyślnie ten monitor jest skonfigurowany tak, aby generować alert, gdy procesy nie zakończyły się pomyślnie w ciągu 2 ostatnich dni. Niektóre przyczyny niepomyślnego zakończenia procesu partycjonowania i pielęgnowania są następujące:
Zasada „Partycjonowanie i pielęgnowanie” jest wyłączona
Zasada „Partycjonowanie i pielęgnowanie” nie może uzyskać dostępu do programu SQL Server hostującego operacyjną bazę danych w celu wykonania procedur składowanych SQL wykonujących pielęgnowanie i partycjonowanie.
Procedury składowane SQL wykonujące partycjonowanie i pielęgnowanie kończą się niepowodzeniem z powodu zbyt małej ilości miejsca na dziennik serwera SQL operacyjnej bazy danych.
W poniższych krokach opisano, jak rozwiązać problem w przypadku najczęstszych przyczyn:
Upewnij się, że do zasady „Partycjonowanie i pielęgnowanie” nie zastosowano żadnych zastąpień, które mogłyby ją wyłączyć.
Zasada „Partycjonowanie i pielęgnowanie” jest uruchamiana na serwerze zarządzania zbieraniem danych z poświadczeniami profilu Uruchom jako „Konto operacyjnej bazy danych”. Jeśli w profilu Uruchom jako „Konto operacyjnej bazy danych” nie podano poświadczeń, zostanie użyte domyślne konto akcji serwera zarządzania zbieraniem danych. Sprawdź, czy konto używane do uruchamiania zasady jest skonfigurowane z wystarczającymi uprawnieniami. Aby uzyskać więcej informacji, zobacz temat pomocy „Jak skonfigurować nowe konto Uruchom jako na potrzeby dostępu do bazy danych programu Operations Manager” ( http://go.microsoft.com/fwlink/?LinkID=824999).
Proces partycjonowania i pielęgnowania operacyjnej bazy danych wymaga miejsca na dziennik transakcji SQL operacyjnej bazy danych. Jeśli w dziennikach transakcji nie ma wystarczającej ilości miejsca, partycjonowanie lub pielęgnowanie może zakończyć się niepowodzeniem. Procent dostępnego miejsca w dzienniku transakcji można sprawdzić za pomocą licznika wydajności „SQLServer:Bazy danych\Procent użycia dziennika”. Dodaj więcej miejsca do istniejących plików dziennika transakcji, dodaj więcej plików lub podejmij odpowiednie kroki w celu zwolnienia miejsca w istniejących plikach dziennika, tak aby była dostępna odpowiednia ilość miejsca do ukończenia partycjonowania i pielęgnowania. Jest to szczególnie ważne, jeśli w operacyjnej bazie danych włączono wysyłanie dziennika. Aby uzyskać więcej informacji o dziennikach transakcji, zobacz temat w książkach o serwerze SQL online: „Informacje o dziennikach transakcji i zarządzanie dziennikami transakcji” ( http://go.microsoft.com/fwlink/?LinkId=193419).
Target | Microsoft.SystemCenter.OpsMgrDBWatcher | ||
Parent Monitor | System.Health.ConfigurationState | ||
Category | ConfigurationHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | High | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SystemCenter.2007.OpsMgrDB.PartitioningAndGroomingMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SystemCenter.OpsMgrDB.PartitioningAndGroomingMonitor" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.2007.OpsMgrDB.PartitioningAndGroomingMonitorType" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.OpsMgrDB.PartitioningAndGroomingMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseServerName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthyfulPartitionGroomingProcess" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="WarningPartitionGroomingProcess" MonitorTypeStateID="WarningThreshold" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>86400</IntervalSeconds>
<Synctime>12:01</Synctime>
<TimeoutSeconds>300</TimeoutSeconds>
<DatabaseServerName>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseServerName$</DatabaseServerName>
<DatabaseName>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseName$</DatabaseName>
<Threshold>2</Threshold>
<TimesBeforeAlert>2</TimesBeforeAlert>
</Configuration>
</UnitMonitor>