Compartilhar via


Exibir e ler o log de diagnóstico da instância do cluster de failover

Todos os erros críticos e eventos de aviso para a DLL de Recursos do SQL Server são gravados no log de eventos do Windows. Um log em execução das informações de diagnóstico específicas do SQL Server é capturado pelo procedimento armazenado de sistema sp_server_diagnostics (Transact-SQL) e gravado nos arquivos de log de diagnóstico do cluster de failover do SQL Server (também conhecidos como logs SQLDIAG ).

  • Antes de começar:  Recomendações, de segurança

  • Para exibir o log de diagnóstico, usando:  SQL Server Management Studio, Transact-SQL

  • Configurar as definições do log de diagnóstico, usando: Transact-SQL

Antes de começar

Recomendações

Por padrão, os arquivos SQLDIAG são armazenados em uma pasta LOG local do diretório de instância do SQL Server, por exemplo, 'C\Arquivos de Programas\Microsoft SQL Server\MSSQL11.<InstanceName>\MSSQL\LOG' do nó proprietário da FCI (Instância do Cluster de Failover) AlwaysOn. O tamanho de cada arquivo de log de SQLDIAG é fixo em 100 MB. Dez arquivos de log desse tipo são armazenados no computador antes de serem reciclados para novos logs.

Os logs usam o formato de arquivo de eventos estendidos. A função de sistema sys.fn_xe_file_target_read_file pode ser usada para leitura dos arquivos criados por Eventos Estendidos. É retornado um evento, em formato XML, por linha. Consulte a exibição do sistema para analisar os dados XML como um conjunto de resultados. Para obter mais informações, consulte sys.fn_xe_file_target_read_file (Transact-SQL).

[Top]

Segurança

Permissões

A permissão VIEW SERVER STATE é necessária para executar fn_xe_file_target_read_file.

Abra o SQL Server Management Studio como administrador

[Top]

Usando o SQL Server Management Studio

Para exibir os arquivos de log de diagnóstico:

  1. No menu Arquivo, selecione Abrir, Arquivo e escolha o arquivo de log de diagnóstico a ser exibido.

  2. Os eventos são exibidos como linhas no painel direito e, por padrão, nomee carimbo de data/hora são as únicas duas colunas exibidas.

    Isso também ativa o menu ExtendedEvents.

  3. Para ver mais colunas, vá até o menu ExtendedEvents e marque Selecionar Colunas.

    Uma caixa de diálogo é aberta com as colunas disponíveis que lhe permitem selecionar as colunas para exibição.

  4. Você pode filtrar e classificar os dados de evento usando o menu ExtendedEvents e selecionando a opção Filtrar.

[Top]

Usando Transact-SQL

Para exibir os arquivos de log de diagnóstico:

Para exibir todos os itens do log no arquivo de log SQLDIAG, use a seguinte consulta:

SELECT
xml_data.value('(event/@name)[1]','varchar(max)') AS 'Name'
,xml_data.value('(event/@package)[1]','varchar(max)') AS 'Package'
,xml_data.value('(event/@timestamp)[1]','datetime') AS 'Time'
,xml_data.value('(event/data[@name=''state'']/value)[1]','int') AS 'State'
,xml_data.value('(event/data[@name=''state_desc'']/text)[1]','varchar(max)') AS 'State Description'
,xml_data.value('(event/data[@name=''failure_condition_level'']/value)[1]','int') AS 'Failure Conditions'
,xml_data.value('(event/data[@name=''node_name'']/value)[1]','varchar(max)') AS 'Node_Name'
,xml_data.value('(event/data[@name=''instancename'']/value)[1]','varchar(max)') AS 'Instance Name'
,xml_data.value('(event/data[@name=''creation time'']/value)[1]','datetime') AS 'Creation Time'
,xml_data.value('(event/data[@name=''component'']/value)[1]','varchar(max)') AS 'Component'
,xml_data.value('(event/data[@name=''data'']/value)[1]','varchar(max)') AS 'Data'
,xml_data.value('(event/data[@name=''info'']/value)[1]','varchar(max)') AS 'Info'
FROM
 ( SELECT object_name AS 'event'
  ,CONVERT(xml,event_data) AS 'xml_data'
  FROM sys.fn_xe_file_target_read_file('C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\SQLNODE1_MSSQLSERVER_SQLDIAG_0_129936003752530000.xel',NULL,NULL,NULL) 
) 
AS XEventData
ORDER BY Time; 
ObservaçãoObservação

Você pode filtrar os resultados para componentes específicos ou um estado usando a cláusula WHERE.

Usando Transact-SQL

Para configurar as propriedades de log de diagnóstico

ObservaçãoObservação

Para obter um exemplo desse procedimento, consulte Exemplo (Transact-SQL) posteriormente nesta seção.

Usando a instrução DDL (linguagem de definição de dados), ALTER SERVER CONFIGURATION, você pode iniciar ou parar o log de dados de diagnóstico capturados pelo procedimento sp_server_diagnostics (Transact-SQL), além de definir os parâmetros de configuração do log SQLDIAG, como a contagem de substituições de arquivos, o tamanho do arquivo do log e o local do arquivo. Para obter detalhes da sintaxe, consulte Setting diagnostic log options.

Exemplos (Transact-SQL)

Configurando as opções do log de diagnóstico

Os exemplos desta seção mostram como definir os valores para a opção de log de diagnóstico.

A.Iniciando o log de diagnóstico

O exemplo a seguir inicia o log de dados de diagnóstico.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;

B.Interrompendo o log de diagnóstico

O exemplo a seguir interrompe o log de dados de diagnóstico.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;

C.Especificando o local dos logs de diagnóstico.

O exemplo a seguir define o local dos logs de diagnósticos como o caminho do arquivo especificado.

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG PATH = 'C:\logs';

D.Especificando o tamanho máximo de cada log de diagnóstico

O exemplo a seguir define o tamanho máximo de cada log de diagnóstico como 10 megabytes.

ALTER SERVER CONFIGURATION 
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;

[Top]

Consulte também

Conceitos

Política de failover para instâncias de cluster de failover