Поделиться через


Диагностика политик в управлении на основе политик

Управление на основе политик записывает сообщения об ошибках как в журнал событий Windows, так и в журнал агента SQL Server для запланированных политик. Если политики не включены или не оказывают эффект на ожидаемую цель, то сбой не считается за ошибку и не записывается в журнал.

Диагностика сбоев политик

В этом разделе описано два сбоя политик и шаги, предпринимаемые для их устранения.

Не выполняется политика «При изменении — записать в журнал» или «При изменении — запретить»

Политика, использующая режим вычисления При изменении — записать в журнал или При изменении — запретить, является неэффективной по одной из следующих причин.

  • Политика отключена.

  • Цель исключена фильтром.

  • Цель не подписана на группу политики, содержащую эту политику.

  • При использовании режима оценки При изменении — запретить механизм событий компонента Service Broker не наблюдает за текущими событиями.

  • Сбой в механизме вычисления.

Для устранения этой проблемы выполните следующие шаги.

  1. Проверьте, выполнена ли политика. (Эти сведения также можно просмотреть с помощью средства просмотра журнала.)

    1. Чтобы проверить, создаются ли сообщения об исключении при выполнении политик, просмотрите журнал выполнения политик в представлении msdb.dbo.syspolicy_policy_execution_history.

    2. Чтобы проверить, выполнялись ли политики для определенной цели, просмотрите журнал выполнения политик для этой цели в представлении msdb.dbo.syspolicy_policy_execution_history_details.

  2. Проверьте, эффективна ли политика для этой цели.

    1. Проверьте, что политика включена.

    2. Чтобы проверить применение политики к цели, используйте страницу Просмотр политик в среде SQL Server Management Studio.

  3. Для политик, использующих режим оценки При входе — запретить, компонент Service Broker проверяет, наблюдает ли механизм событий за текущими событиями.

    1. Проверьте, что транзакция была зафиксирована и сформировала событие, поддерживаемое аспектом, а условие политики определено.

    2. Проверьте наблюдение за очередью Service Broker текущих событий при помощи следующего запроса.

      SELECT * FROM sys.server_event_notifications 
      WHERE name = N'syspolicy_event_notification' ;
      GO
      
  4. Проверьте механизм вычисления.

    • Проверьте журнал событий Windows на наличие ошибки управления на основе политик.

Не выполняется политика «По расписанию»

Политика По расписанию может выдать сбой по тем же причинам, что и политика При изменении — журнал или При изменении — запретить, а также вследствие ошибки в задании агента служб SQL Server. Дополнительные сведения о заданиях см. в разделе Просмотр и изменение заданий.

Устранение неполадок производительности

Управление на основе политик не предоставляет конкретных средств диагностики проблем, связанных с производительностью. Чтобы определить время выполнения политик, выполните запрос столбцов start_date и end_date в представлении msdb.dbo.syspolicy_policy_execution_history.

Основные сведения об обработке и внесении в журнал ошибок

В этом разделе описано функционирование обработки и внесения в журнал ошибок в некоторых политиках.

Политика «При изменении — журнал» или политика «При изменении — запретить»

Ошибки выполнения политик записываются в журнал событий Windows. В журнал записывается текст ошибки управления на основе политик и XML-описание, содержащее подробности события SQL Server. Исключения основной логики выполнения являются ошибками выполнения политики, отображенными в представлениях msdb.dbo.syspolicy_policy_execution_history и msdb.dbo.syspolicy_policy_execution_history_details.

Политика «По расписанию»

Поскольку политика По расписанию включает участие агента SQL Server, файлы журнала агента являются первым местом поиска. Проверьте успешность завершения задания. Журнал агента SQL Server будет содержать ошибки вызова хранимых процедур. Если задание завершено успешно, проверьте журнал событий Windows на наличие ошибок выполнения политики.