Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server no Windows
Azure SQL Managed Instance
Importante
Os Serviços de Dados Mestres (MDS) foram removidos no SQL Server 2025 (17.x). Continuamos a oferecer suporte ao MDS no SQL Server 2022 (16.x) e em versões anteriores.
Depois de instalar o Master Data Services (MDS), você pode achar o recurso de log de rastreamento útil para diagnóstico de erros, solicitações de suporte e monitoramento do uso e desempenho do aplicativo. Este artigo aborda as etapas para ativar e configurar o log de rastreamento. Especificamente, este artigo aborda o rastreamento para um arquivo de log de texto. Este artigo também discute o procedimento para criar um arquivo de log que pode ajudar a solucionar falhas que podem ocorrer ao criar um banco de dados MDS.
Contexto geral
O Master Data Services consiste em um aplicativo Web ASP.NET (Master Data Manager) e um serviço WCF; ambos são hospedados no IIS e em um banco de dados do SQL Server. As solicitações do Master Data Manager e as chamadas externas para o ponto de extremidade da API de serviços Web são tratadas por uma camada de serviço comum. A camada de serviço pode registrar cada solicitação/resposta de operação, eventos importantes e erros.
Como administrador com acesso a ficheiros no servidor Web IIS, podes habilitar o registo em log modificando o ficheiro de MDS Web.config.
Por padrão, o arquivo Web.config está em uma das seguintes pastas de aplicativo Web:
SQL Server 2008 R2: program_files\Microsoft SQL Server\Master Data Services\WebApplication
SQL Server 2012 e versões posteriores: program_files\Microsoft SQL Server\<nnn>\Master Data Services\WebApplication
Os números nnn no caminho correspondem à versão do SQL Server que está sendo instalada. A tabela a seguir identifica versões para os caminhos:
| Versão | nnn |
|---|---|
| SQL Server 2019 | 150 |
| SQL Server 2017 | 140 |
| SQL Server 2016 | 130 |
| SQL Server 2014 | cento e vinte |
| SQL Server 2012 | 110 |
Atenção
A atualização Web.config fará com que o domínio do aplicativo MDS no IIS seja reciclado. As sessões de usuário existentes perderão informações armazenadas em cache e os usuários poderão enfrentar erros de sessão ou carregamentos de página lentos. Realize alterações fora dos horários de pico, se possível.
Rastreamento de registos no aplicativo web MDS
SQL Server 2016 e versões posteriores
O arquivo Web.config contém uma seção de rastreamento, como mostrado abaixo. Esta seção é introduzida no SQL Server 2016 (13.x) Master Data Services.
<sources>
<!-- Adjust the switch value to control the types of messages that should be logged.
https://msdn.microsoft.com/library/system.diagnostics.sourcelevels
Use a switchValue of Verbose to generate a full log. Please be aware that
the trace file can get quite large very quickly. -->
<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="Warning, ActivityTracing">
<listeners>
<!-- Set a directory path where the service account you chose while setting up Master Data Services has read and write privileges.
Default path is Logs in WebApplication folder, for example C:\Program Files\Microsoft SQL Server\130\Master Data Services\WebApplication
New log file will be created every day or every 10 mb.
When directory size hits the 200 mb limitation, the oldest file will be deleted. -->
<add name="FileTraceListener"
type="Microsoft.MasterDataServices.Core.Logging.FileTraceListener, Microsoft.MasterDataServices.Core"
initializeData="DirectoryPath = Logs; FileSizeInMb = 10; MaxDirectorySizeInMb = 200"/>
<remove name="Default"/>
</listeners>
</source>
</sources>
Este é o comportamento de rastreamento padrão:
O rastreamento está habilitado para
WarningeActivityTracingmensagens.Para obter mais informações, consulte SourceLevels Enumeration.
Os logs são salvos na pasta Logs , na pasta WebApplication . O local padrão é C:\Arquivos de Programas\Microsoft SQL Server\nnn\Master Data Services\WebApplication\Logs.
O ficheiro é criado para cada dia ou a cada 10 MB.
Quando o tamanho do diretório atinge 200 MB, o log mais antigo é excluído.
O formato de log é CSV. A tabela a seguir descreve o formato de log:
Elemento Descrição Tempo / Hora Quando se regista uma entrada de rastreio ID de Correlação Um ID de correlação é atribuído para cada solicitação. Todos os rastreamentos acionados por essa solicitação compartilharão a mesma ID de correlação.
Quando ocorre um erro na interface do usuário, a ID de correlação aparece na mensagem de erroFuncionamento Solicite o nome da operação. Se a solicitação for uma solicitação de interface do usuário da Web, o nome da operação será a url. Se a solicitação for uma solicitação de API, o nome da operação será o nome do serviço Nível Nível desta entrada de rastreio Mensagem Corpo da mensagem do rastreio
SQL Server 2014 e versões anteriores
Seção de diagnóstico do arquivo de Web.config instalado originalmente
O trecho de arquivo a seguir mostra a seção de diagnóstico do arquivo Web.config instalado originalmente.
Observação
O switchValue está definido como Off. Além disso, as linhas de exemplo estão comentadas. Essas linhas são exemplos para adicionar escutadores de rastreamento de vários tipos.
<system.diagnostics>
<sources>
<!-- Adjust the switch value to control the types of messages that should be logged. -->
<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="Off">
<listeners>
<!-- Enable and configure listeners as desired to obtain trace messages. -->
<!-- <add name="LogFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="MdsTrace.log" traceOutputOptions="DateTime" /> -->
<!-- <add name="EtwListener" type="System.Diagnostics.Eventing.EventProviderTraceListener, System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"
initializeData="{F2A341B8-CA5F-49ad-B00C-A82D3FCF948B}"/> -->
<!-- <remove name="Default"/> -->
</listeners>
</source>
</sources>
<trace autoflush="true"/>
</system.diagnostics>
Ativando o rastreamento de arquivos de log
Para habilitar o registro em log, altere switchValue para All ou outro valor válido, conforme descrito abaixo na Tabela 1. Para habilitar a saída para um ficheiro de log, descomente a linha LogFileListener como mostrado no seguinte trecho de ficheiro.
<system.diagnostics>
<sources>
<!-- Adjust the switch value to control the types of messages that should be logged. -->
<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="All">
<listeners>
<!-- Enable and configure listeners as desired to obtain trace messages. -->
<add name="LogFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="MdsTrace.log" traceOutputOptions="DateTime"/>
<!-- <add name="EtwListener" type="System.Diagnostics.Eventing.EventProviderTraceListener, System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" initializeData="{F2A341B8-CA5F-49ad-B00C-A82D3FCF948B}"/> -->
<!-- <remove name="Default"/> -->
</listeners>
</source>
</sources>
<trace autoflush="true"/>
</system.diagnostics>
Tabela 1 - Configurações de SwitchValue para registro em log
| Configurações | O que é registado |
|---|---|
| Desativado | nada |
| Erro | apenas erros |
| Advertência | erros e avisos |
| Informação | erros, avisos, mensagens informativas |
| Verbose | "Informação" e outros registos de depuração, incluindo pedidos de API e respostas em formato XML |
| Rastreamento de atividades | Iniciar e parar apenas eventos |
| Todos | "Verbose" e "ActivityTracing" |
Nome e caminho do arquivo
O initializeData valor é o nome do arquivo de log. Isso pode ser modificado para outro nome ou para incluir um caminho desejado. Se o caminho não for especificado, o arquivo assumirá como padrão o caminho do diretório do aplicativo Web (onde Web.config reside).
Importante
A conta de serviço para o pool de aplicativos MDS deve ter acesso de gravação ao local do arquivo de log.
Nível de detalhe do registo
A Tabela 2 abaixo descreve as categorias de eventos de rastreamento que podem ser registrados ou classificados com os eventos mais importantes/críticos na parte superior.
A Tabela 1 acima lista as definições válidas para o logging switchValue. Essa configuração pode ser ajustada para produzir a quantidade certa de detalhes de registro para se adequar à situação.
Tabela 2 - Tipos de eventos de log do MDS
| Tipo de Evento | Descrição |
|---|---|
| Crítico | um erro fatal ou falha do aplicativo |
| Erro | um erro recuperável |
| Advertência | um problema não crítico |
| Informação | uma mensagem informativa |
| Verbose | Uma mensagem de rastreamento de depuração |
| Início | início de uma operação lógica |
| Parar | interrupção de uma operação lógica |
Recomendações para configuração de log
- Para uma operação normal, use a configuração
Offpara evitar completamente o registo ou use a configuraçãoErrorouWarning, que manterá o registo pequeno enquanto alerta os administradores para problemas. - Use a
Allconfiguração para situações de suporte/solução de problemas. - Use
ActivityTracingpara medição de desempenho ou monitoramento de uso. - Utilize
Informationapenas se estiver preparado para verificar e limpar periodicamente os registos. Os logs podem ficar longos com essa configuração. Essa configuração é útil para acompanhar o uso e os padrões de uso. - Não use
VerboseouAllem condições normais de operação, pois o volume de dados registrados afetará negativamente o desempenho.
Etapas para criar um arquivo de log para suporte ao produto
Em situações em que ocorre um erro inesperado e são necessários diagnósticos adicionais, é útil criar um arquivo de log que rastreie os eventos que levaram ao problema, juntamente com as solicitações de serviço e respostas.
Para produzir um ficheiro de registo conciso e útil, siga estes passos:
Atenção
A atualização Web.config fará com que o domínio do aplicativo MDS no IIS seja reciclado.
Se possível, pare o pool de aplicativos MDS no Gerenciador do IIS.
Advertência
Faça isso apenas se o aplicativo puder ser retirado do ar.
Se possível, mova ou exclua o arquivo de log atual (se já existir).
Abra o arquivo Web.config usando um editor de texto.
Observação
Por padrão, o arquivo Web.config está em uma das seguintes pastas de aplicativo Web:
- SQL Server 2008 R2: program_files\Microsoft SQL Server\Master Data Services\WebApplication
- SQL Server 2012: program_files\Microsoft SQL Server\110\Master Data Services\WebApplication
Encontre a
system.diagnosticssecção.Altere
switchValueparaAllouActivityTracinge descomente a linha do arquivo de log, conforme mostrado na seção Ativando o rastreamento de arquivos de log deste artigo.- Use
switchValue="All"para diagnósticos de erros. - Use
switchValue="ActivityTracing"para diagnósticos de desempenho. - O nome do arquivo MdsTrace.log pode ser prefixado com um caminho, se desejado.
- Use
Se o pool de aplicativos tiver sido interrompido anteriormente, inicie o pool de aplicativos MDS no IIS. Ou então, aguarde até que o arquivo de log apareça depois de algum tempo e atividade do aplicativo Web. O aplicativo Web recarregará periodicamente as definições de configuração do arquivo (deve ser em minutos).
Reproduza o problema e execute as mesmas ações ou solicitações que levaram ao erro.
Se você conseguir parar o pool de aplicativos:
- Pare o pool de aplicativos.
- Recupere o arquivo de log (talvez seja necessário aguardar a conclusão dos processos; pode haver um atraso após a interrupção do pool de aplicativos).
Ou então, abra o arquivo de log usando um editor que não bloqueie o arquivo (como notepad.exe) e copie as mensagens de rastreamento relevantes.
Abra o arquivo Web.config usando um editor de texto e altere
switchValuenovamente paraOffou o valor anterior.Inicie o pool de aplicativos caso esteja parado.
Tratamento de erros: Todas as operações de serviço retornam uma matriz ou coleção de erros dentro do
OperationResultobjeto de uma mensagem de resposta. Quando ocorre um erro, a matriz de erro também é serializada em XML e gravada no arquivo de log do aplicativo Web para determinadasswitchValueconfigurações, conforme descrito acima.
Um exemplo de um erro de resposta da API que foi gravado no arquivo de log:
MDS Error: 0 :
<ArrayOfError xmlns="http://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Error>
<Code>110003</Code>
<Context>
<FullyQualifiedName>Model1</FullyQualifiedName>
<Identifier>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>Model1</Name> <InternalId>0</InternalId>
</Identifier>
<Type>Model</Type>
</Context>
<Description>The name already exists. Type a different name.</Description>
</Error>
</ArrayOfError>
DateTime=2009-12-10T20:48:05.6949548Z error object contents
Como mostrado no exemplo acima, cada erro inclui as seguintes propriedades de dados:
| Propriedade | Descrição |
|---|---|
| Código | O número de erro exclusivo que identifica o tipo de erro |
| Descrição | Texto da mensagem de erro localizada |
| Context.FullyQualifiedName | O nome totalmente qualificado do objeto envolvido no erro. Alguns nomes são apenas únicos dentro do seu contexto. Uma entidade seria qualificada com um prefixo de nome de modelo, como ModelName : EntityName |
| Context.Type | O tipo de objeto envolvido no erro |
| Contexto.Identificador | O identificador do objeto envolvido no erro |
| Context.Identifier.Id | O GUID exclusivo do objeto, se especificado ou disponível |
| Context.Identifier.Name | O nome do objeto, se especificado ou disponível |
| Context.Identifier.InternalId | Preterido – não use |
Rastreando problemas de criação de banco de dados MDS
Você pode usar o procedimento a seguir para criar um arquivo de log que pode ajudar a solucionar falhas que podem ocorrer ao criar um banco de dados MDS:
Abra o arquivo MDSConfigTool.exe.config no caminho C:\Arquivos de Programas\Microsoft SQL Server\Master Data Services\Configuration usando notepad.exe.
Descomente a seguinte linha no arquivo removendo os caracteres de sufixo nessa linha:
<add name="LogFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="MdsConfigManagerTrace.log" traceOutputOptions="DateTime"/>Certifique-se de que
switchValueestá definido comoAll(Ativado).<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="All">Tente novamente criar o banco de dados. Em seguida, abra o MdsConfigManagerTrace.log de arquivo salvo em C:\Arquivos de Programas\Microsoft SQL Server\Master Data Services\Configuration e revise o mesmo para obter outras informações sobre a falha.