Trabalhos de depósito de dados falharem e identificação de evento 33502 é registrada

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 3137611
Sintoma
Trabalhos de depósito de dados falharem no Microsoft System Center 2012 Service Manager. Quando esse problema ocorre, o seguinte evento é registrado no log de eventos do Operations Manager no servidor de Data Warehouse:

Nome do log: Gerente de operações
Origem: Depósito de dados
Identificação do evento: 33502
Nível: erro
Descrição:
Falha na execução do módulo de ETL:
Tipo de processo ETL: transformação
ID de lote: # # #
Nome do módulo: TransformEntityRelatesToEntityFact
Mensagem: Tempo limite esgotado. O tempo limite esgotou antes da conclusão da operação ou o servidor não está respondendo.


Além disso, quando você executa certos cmdlets relacionados a Data Warehouse, youfrequently ver um erro de tempo limite registrado para o módulo deTransformEntityRelatesToEntityFact que é semelhante ao seguinte:

Transform.common de - nome_do_trabalho de Get-SCDWJobModule
. . .
TransformEntityRelatesToEntityFact 1952 falhou
. . .
Causa
Esse problema pode ocorrer se o volume de dados de transformação excede a quantidade que pode ser processada por módulos de transformação dentro do período de tempo limite. Isso geralmente ocorre após a Data Warehouse trabalhos foram desabilitados por algum tempo porque o volume de dados a ser transformado pode se tornar rapidamente atrasado. Por padrão, as tarefas de transformação de Data Warehouse têm um tempo limite codificado de 60 minutos.
Resolução
Para corrigir esse problema, use um dos seguintes métodos.

Método 1

Se você acha que isso é um problema de curto prazo e isolado, processe os trabalhos pendentes transformados para retornar a operação para um status de funcionamento. Para fazer isso, aguarde até que o status de todos os trabalhos de Data Warehouse para ser exibido como FalhaouNão iniciado e, em seguida, execute as seguintes etapas:

  1. No servidor de Data Warehouse, pare de serviceat de HealthService um prompt de comando elevado. Para fazer isso, execute o seguinte comando:

    Net Stop HealthService

    Observação: Dependendo da versão do Service Manager, esse nome de serviço pode ser exibido comoagente Microsoft monitoramento ou Gerenciamento do System Center.
  2. Atualize a seguinte consulta SQL Server para refletir o valor ModuleNamedo módulo no trabalho de Transform.Common que está falhando. Este exemplo usaTransformEntityRelatesToEntityFact.

    Observação: A maneira mais simples de ver o valor do módulopara o módulo que está falhando é abrir o console do Gerenciador de serviços, clique emData Warehouse, clique novamente em Data Warehouse , clique em trabalhos de Data Warehousee, em seguida, clique em Transform.Common. No painel inferior central, você pode ver uma lista de módulos e o status atual. Depois de fazer as alterações, execute a consulta.

    Use DWStagingAndConfig  declare  @mybatchid INT,  @mysourceid INT,  @outXML XML,  @myProcessCategoryName NVARCHAR(100),  @myProcessName NVARCHAR(100),  @myModuleName NVARCHAR(100),  @sqlString NVARCHAR(150),  @paramDef NVARCHAR(100)  set @myProcessCategoryName = N'Transform'  set @myProcessName = N'Transform.Common'  set @myModuleName = N'TransformEntityRelatesToEntityFact'  USE DWStagingAndConfig  create table #MyTempTable (  ProcessCategoryName NVARCHAR(150),  ProcessName NVARCHAR(150),  BatchId INT,  BatchStatus NVARCHAR(150),  WorkItemStatus NVARCHAR(150),  WorkItems INT  )  insert #MyTempTable  exec Infra.GetBatchDetails @ProcessCategoryName=@myProcessCategoryName, @ProcessName=@myProcessName  select @mybatchid = BatchId from #MyTempTable  select @mysourceid = sourceid from etl.source where SourceName='SCDW'  create table #MyTempTable2 (  myWaterMark XML  )  insert #MyTempTable2  exec etl.GetWaterMark @BatchId=@mybatchid, @ModuleName=@myModuleName, @ProcessName=@myProcessCategoryName, @SourceId=@mysourceid  select @outXML = myWaterMark from #MyTempTable2  create table #MyTempTable3 (  myWaterMark XML,  BatchId INT,  UpdatedRowCount INT,  InsertedRowCount INT  )  USE DWRepository  set @paramDef = N'@ioutXML XML'  set @sqlString = 'insert #MyTempTable3 exec ' + @myModuleName + 'Proc @WaterMark=@ioutXML'  exec sp_executesql @sqlString, @paramDef, @ioutXML=@outXML  select @mybatchid = BatchId, @outXML = myWaterMark from #MyTempTable3  USE DWStagingAndConfig  exec etl.SetWaterMark @BatchId=@mybatchid, @ModuleName=@myModuleName, @ProcessName=@myProcessCategoryName, @SourceId=@mysourceid, @WaterMark=@outXML  drop table #MyTempTable  drop table #MyTempTable2  drop table #MyTempTable3
  3. Reinicie o serviço de HealthService em um prompt de comando elevado. Para fazer isso, execute o seguinte comando:

    Net Start HealthService
Observação: Você pode ter que repetir essas etapas várias vezes ou em vários módulos.

Método 2

Se você estiver usando o Forefront identificar Manager (FIM), esse problema pode ocorrer devido o fluxo de dados que atinge o Service Manager. Para distribuir a carga de trabalho para esses dados, altere o agendamento deFIM_ScheduleReportingIncrementalSynchronizationJob do valor padrão de cada 8 horas a cada 2 horas. Para fazer isso, execute as seguintes etapas:

  1. No SQL Server Management Studio, conecte-se ao banco de dados FIM, expanda SQL Server Agente clique em trabalhos.
  2. Clique com o botão FIM_ScheduleReportingIncrementalSynchronizationJob, clique em Propriedadese, em seguida, clique em agendas.
  3. Alterar o Occurs cada valor de FIM_UpdateReportingIncrementalSynchronizationJobSchedule_1 a 2 horas.

Método 3

Para uma solução mais a longo prazo, faça a atualização para o Microsoft System Center 2012 R2 Service Manager atualização pacote cumulativo de atualizações 4 (UR4) ou uma versão posterior. A partir de 4 de Rollup de atualização, Service Manager possui uma configuração de tempo limite ajustável. Além disso, o tempo limite do trabalho de transformação do padrão Data Warehouse muda de 60 minutos para 180 minutos. Se três horas não for longa o suficiente para o móduloTransform.Common terminar, você pode aumentar o valor alterando o seguinte valor do registro:

HKLM\SOFTWARE\Microsoft\System Center\2010\Common\DAL

SqlCommandTimeout = (DWord de 32 bits em segundo)

Observação: Se você estiver usando o Forefront Identity Manager, você deve atualizar para Microsoft Identity Manager 2012 R2 para obter suporte para o Service Manager 2012 R2.

Propriedades

ID do Artigo: 3137611 - Última Revisão: 03/28/2016 21:56:00 - Revisão: 2.0

Microsoft System Center 2012 Service Manager Service Pack 1, Microsoft System Center 2012 R2 Service Manager

  • kbexpertiseadvanced kbsurveynew kbtshoot kbmt KB3137611 KbMtpt
Comentários