Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

A Microsoft distribui o Microsoft SQL Server 2008 R2 corrige como um arquivo que pode ser baixado. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com a versão anterior do SQL Server 2008 R2 Fix.

Sintomas

Considere o seguinte cenário:

  • Você tem um modelo MDS (serviços de dados mestres) e uma entidade que tem um atributo baseado em domínio no Microsoft SQL Server 2008 R2. O atributo baseado em domínio foi projetado para ser autoreferenciado ao mesmo atributo. Por exemplo, você tem uma entidade de funcionário que tem um atributo ManagerName . O atributo ManagerName refere-se à mesma entidade de funcionários em si.Observação Um gerente também é um tipo de funcionário.

  • Há uma hierarquia derivada que é definida em um atributo para exibir a relação pai/filho recursiva para o atributo baseado em domínio.

  • Você carrega valores de dados que contenham uma ou mais referências circulares para a tabela de transferência MDS. Esse comportamento causa uma referência circular, e o primeiro nó no atributo não faz parte do círculo. Por exemplo, o padrão de dados a seguir mostra uma referência circular. No entanto, o valor do membro member1 não faz parte do círculo:

    O atributo member1--Manager--> Member2--Attribute Manager--> Member3--Manager Attribute--> Member2--Manager Attribute--> Member3

    insert into mdm.tblStgMemberAttribute(ModelName, EntityName, MemberType_ID, MemberCode, AttributeName, AttributeValue, Status_ID)Values ('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member3', 0),('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member1', 0)('EntityTest', 'ModelTest', 1, 'Member1', 'Manager', 'NULL', 0)
  • Use um dos seguintes métodos para carregar valores de dados na entidade usando o processo de preparação do MDS:

    • Execute o exec [MDM]. [ udpStagingSweep] usando os parâmetros necessários para processar os dados em estágios.

    • Clique em Gerenciamento de integração para acessar a home page do site do MDS. Na página importar exportação , no cabeçalho da seção registros de preparo não em lote , clique no ícone de engrenagem para processar os registros de um modelo e uma versão específicos.

Nesse cenário, o processo em segundo plano durante o processo de preparação pode encontrar um loop infinito quando o processo em segundo plano chama internamente o [MDM]. [ procedimento udpMemberRecursiveCircularCheck] .

Causa

Esse problema ocorre porque os procedimentos udpStagingSweep e udpStagingMemberAttributeSave chamam o procedimento udpMemberRecursiveCircularCheck uma vez para cada linha de preparo. Esse comportamento deve verificar um valor de atributo baseado em domínio e retorna um erro se a linha de preparo causar uma referência circular juntamente com os dados existentes. Depois que todas as linhas de preparo estiverem marcadas, você receberá os seguintes resultados:

  • As linhas de preparação sem erros são aplicadas.

  • As linhas de preparação com erros são indicadas com um código de erro.

Se as condições descritas na seção "sintomas" forem verdadeiras, [MDM]. [ udpMemberRecursiveCircularCheck] o procedimento executa um loop indefinidamente até que os recursos do servidor se esgotassem ou um tempo limite ocorra.

Resolução

Informações sobre a atualização cumulativa

SQL Server 2008 R2 Service Pack 1

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 4. Para obter mais informações sobre como obter este pacote de atualização cumulativa do SQL Server 2008 R2 SP1, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

2633146 Pacote de atualização cumulativa 4 para SQL Server 2008 R2 Service Pack 1Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 R2 SP1. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:

2567616 As compilações do SQL Server 2008 R2 que foram lançadas após o lançamento do SQL Server 2008 R2 Service Pack 1

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Solução alternativa

Como solução alternativa para esse problema, use um dos seguintes métodos:

  • Para evitar o problema, siga estas etapas:

    1. Revise manualmente os valores dos dados dos membros que estão sendo inseridos na tabela de preparo antes de executar o processo de preparação.

    2. Certifique-se de que todos os valores de membro para qualquer atributo baseado em domínio não contenham referências circulares descritas na seção "sintomas"

  • Quando o problema descrito na seção "sintomas" ocorrer, siga estas etapas para corrigir o problema:

    1. Identifique a sessão que está sendo executada no loop infinito.

    2. Eliminar a sessão para parar o loop.

    3. Exclua os valores de referência circular da tabela temporária para que a referência circular seja processada novamente.

Observações

  • Para identificar qual sessão eliminar, use um dos seguintes métodos:

    • Use um monitor de atividades no Microsoft SQL Server Management Studio.

    • Selecione na sysprocesses (sys. ou Sys.dm_exec_requests Dynamic Management View (DMV) para identificar as sessões que estão trabalhando dentro do banco de dados MDS no qual a CPU e a hora estão sendo incrementadas rapidamente. Verifique se a consulta atual que está sendo executada na sessão corresponde aos nomes dos procedimentos descritos na seção "causa".

  • Para identificar o procedimento em execução para as sessões no momento, use um dos seguintes métodos:

    • Clique com o botão direito do mouse no menu de detalhes em cada processo na lista processos do monitor de atividades.

    • Use um dos seguintes parâmetros:

      • O comando DBCC INPUTBUFFER (SPID) em conjunto com a identificação da sessão.

      • A função SELECT * FROM sys.dm_exec_sql_text (SqlHandle) funciona em conjunto com o parâmetro identificador SQL correspondente quando você usa a saída de DMV.

Referências

Para obter mais informações sobre como abrir um monitor de atividades no SQL Server Management Studio, acesse o seguinte website da MSDN:

Como abrir um monitor de atividades no SQL Server Management StudioPara obter mais informações sobre a sintaxe do Kill , acesse o seguinte website da MSDN:

Informações gerais sobre a sintaxe de KILLPara obter mais informações sobre o Sys.dm_exec_requests DMV, acesse o seguinte website da MSDN:

Informações gerais sobre o sys.dm_exec_requests DMVPara obter mais informações sobre o Sys.dm_exec_sql_text DMV, acesse o seguinte website da MSDN:

Informações gerais sobre o sys.dm_exec_sql_text DMVPara obter mais informações sobre o comando DBCC INPUTBUFFER , acesse o seguinte website da MSDN:

Informações gerais sobre o comando DBCC INPUTBUFFERPara obter mais informações sobre o modelo de manutenção incremental do SQL Server, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

935897 Um modelo de serviço incremental está disponível na equipe do SQL Server para fornecer hotfixes para problemas relatadosPara obter mais informações sobre o esquema de nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

822499 Novo esquema de nomeação para pacotes de atualização de software do Microsoft SQL ServerPara obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×