Solucionando problemas de diretivas do Gerenciamento Baseado em Diretivas
O Gerenciamento Baseado em Diretivas registra erros para o log de evento do Windows e, para diretivas agendadas, para o log de Agente SQL Server. Se as diretivas não estiverem habilitadas ou não afetarem o destino esperado, a falha não será considerada e não será registrado nenhum erro.
Solucionando problemas de falhas de diretiva
Esta seção descreve duas falhas de diretiva e as etapas que você pode executar para solucioná-las.
Uma diretiva Ao alterar: somente log ou Ao alterar: impedir não está sendo executada
Uma diretiva que está usando o modo de avaliação Ao alterar: somente log ou On change_prevent não é eficaz por um dos seguintes motivos:
A diretiva está desabilitada.
O destino é excluído por um filtro.
O destino não assina o grupo de diretivas que contém a diretiva.
Para o modo de avaliação Ao alterar: impedir, o mecanismo de eventos do Service Broker não está monitorando os eventos corretos.
Há uma falha no mecanismo de avaliação.
Para solucionar este problema, siga estas etapas:
Verifique se a diretiva foi executada. (Esses dados também podem ser exibidos pelo visualizador de log.)
Para ver se a diretiva foi executada com mensagens de exceção, verifique o histórico de execução da diretiva na exibição msdb.dbo.syspolicy_policy_execution_history.
Para ver se a diretiva foi executada pelo destino específico, verifique o histórico de execução da diretiva quanto ao destino especificado em questão na exibição msdb.dbo.syspolicy_policy_execution_history_details.
Verifique se a diretiva é efetiva no destino em questão.
Verifique se a diretiva está habilitada.
Para verificar se a diretiva se aplica ao destino, use a página Exibir Diretivas em SQL Server Management Studio.
Para diretivas que usam o modo de avaliação Ao alterar: somente log, o Service Broker verifica se o mecanismo de eventos está monitorando os eventos corretos.
Verifique se uma transação foi confirmada e gerou um evento que seja aceito pela faceta na qual a condição da diretiva está definida.
Verifique se a fila Service Broker está monitorando os eventos corretos usando a consulta a seguir:
SELECT * FROM sys.server_event_notifications WHERE name = N'syspolicy_event_notification' ; GO
Verifique o mecanismo de avaliação.
- Verifique o log de evento do Windows quanto a um erro do Gerenciamento Baseado em Diretivas.
Uma diretiva Ao Agendar não está sendo executada
Uma diretiva Ao Agendar pode falhar pelos mesmos motivos que uma diretiva Ao alterar: log ou Ao alterar: impedir, e também porque houve uma falha no trabalho do SQL Server Agent. Para obter mais informações sobre trabalhos, consulte Exibindo e modificando trabalhos.
Solucionando problemas de desempenho
O Gerenciamento Baseado em Diretiva não fornece ferramentas específicas para diagnosticar problemas relacionados ao desempenho. Para determinar o tempo de execução para as diretivas, consulte as colunas start_date e end_date na exibição msdb.dbo.syspolicy_policy_execution_history.
Compreendendo o tratamento e o log de erros
Esta seção descreve como o tratamento e o log de erros funcionam para várias diretivas.
Diretiva Ao alterar: somente log e diretiva Ao alterar: impedir
Os erros de execução de diretiva são registrados no log de evento do Windows. O log terá um texto de erro de Gerenciamento Baseado em Diretiva e uma descrição XML que contém os detalhes do evento do SQL Server. As exceções na lógica de execução principal são erros de execução Diretiva mostrados nas exibições msdb.dbo.syspolicy_policy_execution_history e msdb.dbo.syspolicy_policy_execution_history_details.
Diretiva Ao agendar
Como uma diretiva Ao agendar envolve o SQL Server Agent, o local dos arquivos de log do Agent é o primeiro a ser examinado. Verifique se o trabalho foi concluído com sucesso. O log de Agente SQL Server conterá falhas de chamadas de procedimento armazenado. Se o trabalho foi concluído com sucesso, verifique o log de eventos do Windows quanto a falhas de execução de diretiva.
Consulte também