Compartilhar via


Operações de log no Analysis Services

Uma instância do Analysis Services registrará notificações, erros e avisos do servidor no arquivo msmdsrv.log – um para cada instância instalada. Os administradores se referem a esse log para obter informações sobre eventos rotineiros e extraordinários. Em versões recentes, o registro em log foi aprimorado para incluir mais informações. Os registros de log agora incluem informações de versão e edição do produto, bem como processador, memória, conectividade e eventos de bloqueio. Você pode examinar toda a lista de alterações em melhorias no log.

Além do recurso de log interno, muitos administradores e desenvolvedores também usam ferramentas fornecidas pela comunidade do Analysis Services para coletar dados sobre operações de servidor, como o ASTrace. Confira Amostras da Comunidade do Microsoft SQL Server: Analysis Services para acessar os links de download.

Este tópico contém as seguintes seções:

Observação

Se você estiver procurando informações sobre o registro em log, também poderá estar interessado em operações de rastreamento que mostram caminhos de execução de processamento e consulta. Objetos de rastreamento para rastreamento ad hoc e sustentado (como auditoria de acesso ao cubo) ─ assim como recomendações sobre como usar da melhor forma o Gravador de Voo, o SQL Server Profiler e os xEvents ─ podem ser encontrados nos links desta página: Monitorar uma Instância do Analysis Services.

Localização e tipos de logs

O Analysis Services fornece os logs descritos abaixo.

Nome do arquivo ou local Tipo Usado para Ativado por padrão
Msmdsrv.log Log de erros Monitoramento de rotina e solução de problemas básica Sim
Tabela OlapQueryLog em um banco de dados relacional Log de consultas Coletar entradas para o Assistente de Otimização de Uso Não
Arquivos SQLDmp<guid>.mdmp Falhas e exceções Solução de problemas detalhada Não

É altamente recomendável o link a seguir para recursos de informações adicionais não abordados neste tópico: Dicas iniciais de coleta de dados do Suporte da Microsoft.

Informações gerais sobre as configurações de arquivo de log

Você pode encontrar seções para cada log no arquivo de configuração do servidor msmdsrv.ini, localizado em \Arquivos de Programas\Microsoft SQL Server\MSAS12. Pasta MSSQLSERVER\OLAP\Config. Consulte Configurar Propriedades do Servidor no Analysis Services para obter instruções sobre como editar o arquivo.

Sempre que possível, sugerimos que você defina propriedades de log na página de propriedades do servidor do Management Studio. Embora, em alguns casos, você deve editar o arquivo msmdsrv.ini diretamente para definir as configurações que não estão visíveis nas ferramentas administrativas.

Seção do arquivo de configuração mostrando as configurações de log

Arquivo de log de serviço MSMDSRV

O Analysis Services registra operações de servidor no arquivo msmdsrv.log, um por instância, localizado em \arquivos de programa\Microsoft SQL Server\<instance>\Olap\Log.

Esse arquivo de log é esvaziado em cada reinicialização do serviço. Em versões anteriores, os administradores, às vezes, reiniciavam o serviço com a única finalidade de liberar o arquivo de log antes que ele pudesse crescer tanto quanto se tornar inutilizável. Isso não é mais necessário. As configurações, introduzidas no SQL Server 2012 SP2 e posterior, fornecem controle sobre o tamanho do arquivo de log e seu histórico:

  • MaxFileSizeMB especifica um tamanho máximo de arquivo de log em megabytes. O padrão é 256. Um valor de substituição válido deve ser um inteiro positivo. Quando MaxFileSizeMB é atingido, o Analysis Services renomeia o arquivo atual para msmdsrv{timestamp atual}.log e inicia um novo arquivo msmdsrv.log.

  • MaxNumberFiles especifica a retenção de arquivos de log mais antigos. O padrão é 0 (desabilitado). Você pode alterá-lo para um inteiro positivo para manter as versões do arquivo de log. Quando MaxNumberFiles atingido, o Analysis Services exclui o arquivo com o carimbo de data/hora mais antigo em seu nome.

Para usar essas configurações, faça o seguinte:

  1. Abra msmdsrv.ini no NotePad.

  2. Copie as duas linhas a seguir:

    <MaxFileSizeMB>256</MaxFileSizeMB>  
    <MaxNumberOfLogFiles>5</MaxNumberOfLogFiles>  
    
  3. Cole as duas linhas na seção de registro de msmdsrv.ini, abaixo do nome do arquivo do msmdsrv.log. Ambas as configurações devem ser adicionadas manualmente. Não há espaços reservados para eles no arquivo msmdsrv.ini.

    O arquivo de configuração alterado deve ser semelhante ao seguinte:

    <Log>  
    <File>msmdsrv.log</File>  
    <MaxFileSizeMB>256</MaxFileSizeMB>  
    <MaxNumberOfLogFiles>5</MaxNumberOfLogFiles>  
    <FileBufferSize>0</FileBufferSize>  
    
    
  4. Edite os valores se os fornecidos forem diferentes do que você deseja.

  5. Salve o arquivo.

  6. Reinicie o serviço.

Logs de consulta

O log de consultas é um pouco um nome incorreto, pois não registra as atividades de consulta MDX ou DAX dos seus usuários. Em vez disso, coleta dados sobre consultas geradas pelo Analysis Services, que são posteriormente usados como entrada de dados no Assistente de Otimização Baseada em Uso. Os dados coletados no log de consultas não se destinam à análise direta. Especificamente, os conjuntos de dados são descritos em matrizes de bits, com um zero ou um indicando que as partes do conjunto de dados estão incluídas na consulta. Novamente, esses dados são destinados ao assistente.

Para monitoramento de consultas e solução de problemas, muitos desenvolvedores e administradores usam uma ferramenta de comunidade, ASTrace, para monitorar consultas. Você também pode usar o SQL Server Profiler, xEvents ou um rastreamento do Analysis Services. Consulte Monitorar uma Instância do Analysis Services para obter links relacionados ao rastreamento.

Quando você deve usar o log de consultas? É recomendável habilitar o log de consultas como parte de um exercício de ajuste de desempenho de consulta que inclui o Assistente de Otimização Baseada em Uso. O log de consultas não existe até que você habilite o recurso, crie as estruturas de dados para dar suporte a ele e defina as propriedades usadas pelo Analysis Services para localizar e preencher o log.

Para habilitar o log de consultas, siga estas etapas:

  1. Crie um banco de dados relacional do SQL Server para armazenar o log de consultas.

  2. Conceda permissões suficientes à conta de serviço do Analysis Services no banco de dados. A conta precisa de permissão para criar uma tabela, gravar na tabela e ler da tabela.

  3. No SQL Server Management Studio, clique com o botão direito do mouse em Analysis Services, | Propriedades, | Gerais, e defina CreateQueryLogTable como verdadeiro.

  4. Opcionalmente, altere QueryLogSampling ou QueryLogTableName se quiser experimentar consultas a uma taxa diferente ou usar um nome diferente para a tabela.

A tabela de log de consultas não será criada até que você tenha executado consultas MDX suficientes para atender aos requisitos de amostragem. Por exemplo, se você mantiver o valor padrão de 10, deverá executar pelo menos 10 consultas antes que a tabela seja criada.

As configurações de log de consulta são aplicáveis a todo o servidor. As configurações especificadas serão usadas por todos os bancos de dados em execução neste servidor.

Consultar configurações de log no Management Studio

Depois que as configurações forem especificadas, execute uma consulta MDX várias vezes. Se a amostragem for definida como 10, execute a consulta 11 vezes. Verifique se a tabela foi criada. No Management Studio, conecte-se ao mecanismo de banco de dados relacional, abra a pasta de banco de dados, abra a pasta Tabelas e verifique se o OlapQueryLog existe. Se você não vir imediatamente a tabela, atualize a pasta para obter as alterações em seu conteúdo.

Permitir que o log de consultas acumule dados suficientes para o Assistente de Otimização Baseada em Uso. Se os volumes de consulta forem cíclicos, capture tráfego suficiente para ter um conjunto representativo de dados. Consulte o Assistente de Otimização Baseada em Uso para obter instruções sobre como executar o assistente.

Consulte Configurar o Log de Consultas do Analysis Services para saber mais sobre a configuração do log de consultas. Embora o documento seja bastante antigo, a configuração do log de consultas não foi alterada em versões recentes e as informações que ele contém ainda se aplicam.

Arquivos de minidespejo de memória (.mdmp)

Arquivos de despejo capturam dados usados para analisar eventos extraordinários. O Analysis Services gera automaticamente mini dumps (.mdmp) em resposta a uma falha de servidor, exceção e alguns erros de configuração. O recurso está habilitado, mas não envia relatórios de falha automaticamente.

Os relatórios de falha são configurados através da seção Exceção no arquivo Msmdsrv.ini. Essas configurações controlam a geração de arquivos de despejo de memória. O snippet a seguir mostra os valores padrão:

<Exception>  
<CreateAndSendCrashReports>1</CreateAndSendCrashReports>  
<CrashReportsFolder/>  
<SQLDumperFlagsOn>0x0</SQLDumperFlagsOn>  
<SQLDumperFlagsOff>0x0</SQLDumperFlagsOff>  
<MiniDumpFlagsOn>0x0</MiniDumpFlagsOn>  
<MiniDumpFlagsOff>0x0</MiniDumpFlagsOff>  
<MinidumpErrorList>0xC1000000, 0xC1000001, 0xC102003F, 0xC1360054, 0xC1360055</MinidumpErrorList>  
<ExceptionHandlingMode>0</ExceptionHandlingMode>  
<CriticalErrorHandling>1</CriticalErrorHandling>  
<MaxExceptions>500</MaxExceptions>  
<MaxDuplicateDumps>1</MaxDuplicateDumps>  
</Exception>  

Configurar relatórios de falha

A menos que seja direcionado de outra forma pelo Suporte da Microsoft, a maioria dos administradores usa as configurações padrão. Este artigo de KB mais antigo ainda é usado para fornecer instruções sobre como configurar arquivos de despejo: como configurar o Analysis Services para gerar arquivos de despejo de memória.

A configuração mais provável de ser modificada é a CreateAndSendCrashReports configuração usada para determinar se um arquivo de despejo de memória será gerado.

Valor Descrição
0 Desativa o arquivo de despejo de memória. Todas as outras configurações na seção Exceção são ignoradas.
1 (Padrão) Habilita, mas não envia, o arquivo de despejo de memória.
2 Habilita e envia automaticamente um relatório de erros para a Microsoft.

CrashReportsFolder é o local dos arquivos de despejo. Por padrão, um arquivo .mdmp e registros de log associados podem ser encontrados na pasta \Olap\Log.

SQLDumperFlagsOn é usado para gerar um dump completo. Por padrão, os despejos completos não estão habilitados. Você pode definir essa propriedade para 0x34.

Os links a seguir fornecem mais plano de fundo:

Dicas e práticas recomendadas

Esta seção é uma recapitulação das dicas mencionadas ao longo deste artigo.

  • Configure o arquivo msmdsrv.log para controlar o tamanho e o número do arquivo de log msmdsrv. As configurações não estão habilitadas por padrão, portanto, certifique-se de adicioná-las como etapa pós-instalação. Veja o arquivo de log do serviço MSMDSRV neste tópico.

  • Examine esta postagem no blog do Suporte ao Cliente da Microsoft para saber quais recursos eles usam para obter informações sobre operações de servidor: Coleta inicial de dados

  • Use o ASTrace2012, em vez de um log de consultas, para descobrir quem está consultando cubos. O log de consultas normalmente é usado para fornecer entrada no Assistente de Otimização Baseada em Uso e os dados capturados não são fáceis de ler ou interpretar. O ASTrace2012 é uma ferramenta de comunidade, amplamente usada, que captura operações de consulta. Confira exemplos da comunidade do Microsoft SQL Server: Analysis Services.

Consulte Também

Gerenciamento de instâncias do Analysis Services
Introdução ao Monitoring Analysis Services com o SQL Server Profiler
Configurar propriedades do servidor no Analysis Services