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:
No menu Arquivo, selecione Abrir, Arquivo e escolha o arquivo de log de diagnóstico a ser exibido.
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.
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.
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çã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çã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]