KB2628712-Düzeltme: SQL Server 2008 R2'de döngüsel ilişki içeren bir hiyerarşide sonsuz döngü oluşuyor

Microsoft, Microsoft SQL Server 2008 R2 düzeltmelerini bir karşıdan yüklenebilen dosya olarak dağıtır. Düzeltmeler birikimli olduğundan, her yeni sürüm önceki SQL Server 2008 R2 düzeltmesi sürümüyle birlikte gelen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir.

Belirtiler

Aşağıdaki senaryoyu inceleyin:

  • Microsoft SQL Server 2008 R2'de etki alanı tabanlı bir özniteliğe sahip bir Master Data Services (MDS) modeli ve varlığınız vardır. Etki alanı tabanlı öznitelik, aynı özniteliğe kendine başvurabilen şekilde tasarlanmıştır. Örneğin, bir ManagerName özniteliğine sahip bir çalışan varlığınız vardır. ManagerName özniteliği aynı çalışan varlığının kendisine başvurur.Not Yönetici aynı zamanda bir çalışan türüdür.

  • Etki alanı tabanlı öznitelik için özyinelemeli üst/alt ilişkisini görüntülemek üzere bir öznitelikte tanımlanmış türetilmiş bir hiyerarşi vardır.

  • MDS hazırlama tablosuna bir veya birden çok döngüsel başvuru içeren veri değerleri yüklersiniz. Bu davranış döngüsel başvuruya neden olur ve öznitelikteki ilk düğüm dairenin bir parçası değildir. Örneğin, aşağıdaki veri modeli döngüsel başvuru gösterir. Ancak, member1 üye değeri dairenin bir parçası değildir:

    Member1--Manager özniteliği--> Member2--Manager özniteliği--> Member3--Manager özniteliği--> Member2--> 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)
  • MDS hazırlama işlemini kullanarak veri değerlerini varlığa yüklemek için aşağıdaki yöntemlerden birini kullanırsınız:

    • Exec [MDM]. [ Udpstagingsüpür] yordamını kullanarak aşamalı verileri işleyin.

    • MDS Web sitesi giriş sayfasını ziyaret etmek için tümleştirme yönetimi 'ne tıklayın. Dışarı Aktar sayfasında, toplu hazırlama kayıtları bölüm üstbilgisinin altında, belirli bir model ve sürümün kayıtlarını işlemek için dişli simgesini tıklatın.

Bu senaryoda, arka plan işlemi dahili olarak [MDM] çağırdığında, hazırlama işlemi sırasındaki arka plan işlemi Udpmemberrecursivecırcularcheck] yordamı.

Neden

Bu sorun, Udpstagingsüpür ve Udpstagingmemberattributesave yordamları her düzeylendirme satırı Için bir kez Udpmemberrecursivecırcularcheck yordamına çağrı yaparken oluşur. Bu davranışın, etki alanı tabanlı bir öznitelik değerini denetlemesi gerekir ve hazırlama satırı var olan verilerle bir döngüsel başvuruya neden oluyorsa hata verir. Tüm hazırlama satırları işaretlendikten sonra, aşağıdaki sonuçları alırsınız:

  • Hatasız düzeylendirme satırları uygulanır.

  • Hatalar içeren aşamalandırma satırları hata koduyla belirtilmiştir.

"Belirtiler" bölümünde açıklanan koşullar doğruysa, [MDM]. [ Udpmemberrecursivecırcularcheck] yordam, sunucu kaynakları tüketilinceye veya zaman aşımı gerçekleşene kadar süresiz döngü döngüleri.

Çözüm

Toplu güncelleştirme bilgileri

SQL Server 2008 R2 Service Pack 1

Bu sorunla ilgili düzeltme ilk olarak toplu güncelleştirme 4 ' te yayımlanmıştır. SQL Server 2008 R2 SP1 için bu toplu güncelleştirme paketini edinme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası 'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

2633146 SQL Server 2008 R2 Service Pack 1 için toplu güncelleştirme paketi 4Not Derlemeler birikimli olduğu için, her yeni düzeltme sürümü önceki SQL Server 2008 R2 SP1 düzeltme sürümü ile sağlanan tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünebilirsiniz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

2567616 SQL Server 2008 R2 Service Pack 1 ' den sonra yayınlanan SQL Server 2008 R2 derlemeleri

Durum

Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Çözüm

Bu sorunu çözmek için aşağıdaki yöntemlerden birini kullanın:

  • Sorunu gidermek için aşağıdaki adımları izleyin:

    1. Hazırlama işlemini çalıştırmadan önce hazırlama tablosuna eklenen üye veri değerlerini el ile gözden geçirin.

    2. Etki alanı tabanlı özniteliklerin tüm üye değerlerinin "Belirtiler" bölümünde açıklanan döngüsel başvurular içermediğinden emin olun

  • "Belirtiler" bölümünde açıklanan sorun oluştuğunda, bu sorunu düzeltmek için aşağıdaki adımları izleyin:

    1. Sonsuz döngüde çalışan oturumu belirleyin.

    2. Döngüyü durdurmak için oturumu sonlandırın.

    3. Döngüsel başvuru değerlerini, döngüsel başvuru yeniden işlenmeden önce hazırlama tablosundan silin.

Notlar

  • Hangi oturumu sonlandırabelirlemek için aşağıdaki yöntemlerden birini kullanın:

    • Microsoft SQL Server Management Studio 'da etkinlik izleyicisini kullanın.

    • CPU ve saatin hızla artırılarak, MDS veritabanında çalışan oturumları belirlemek için sys. sysprocesses veya sys.dm_exec_requests dinamik yönetim görünümünden (DMV) öğesini seçin. Oturumda çalışan geçerli sorgunun "Neden" bölümünde açıklanan yordam adlarıyla eşleştiğinden emin olun.

  • Oturumlardaki geçerli yordamı belirlemek için aşağıdaki yöntemlerden birini kullanın:

    • Etkinlik izleme işlemleri listesinin her işleminde Ayrıntılar menüsünü sağ tıklatın.

    • Aşağıdaki parametrelerden birini kullanın:

      • DBCC ıNPUTBUFFER (SPID) komutu oturum KIMLIĞIYLE birlikte.

      • DMV çıkışını kullandığınızda SELECT * FROM sys.dm_exec_sql_text (sqlhandle) , eşleşen SQL tanıtıcı parametresiyle birlikte çalışır.

Başvurular

SQL Server Management Studio 'da etkinlik izleyicisini açma hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:

SQL Server Management Studio 'da etkinlik izleyicisini açmaKILL sözdizimi hakkında daha fazla bilgi IÇIN aşağıdaki MSDN Web sitesini ziyaret edin:

KILL sözdizimiyle ilgili genel bilgilerSys.dm_exec_requests DMV hakkında daha fazla bilgi IÇIN aşağıdaki MSDN Web sitesini ziyaret edin:

Sys.dm_exec_requests DMV hakkında genel bilgilerSys.dm_exec_sql_text DMV hakkında daha fazla bilgi IÇIN aşağıdaki MSDN Web sitesini ziyaret edin:

Sys.dm_exec_sql_text DMV hakkında genel bilgilerDBCC ıNPUTBUFFER komutu hakkında daha fazla bilgi IÇIN aşağıdaki MSDN Web sitesini ziyaret edin:

DBCC ıNPUTBUFFER komutu hakkında genel bilgilerSQL Server artımlı hizmet modeli hakkında daha fazla bilgi için, Microsoft Bilgi Bankası 'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

935897 SQL Server ekibinde, bildirilen sorunlara yönelik düzeltmeleri sunmak amacıyla artımlı hizmet modeli kullanılabilirSQL Server güncelleştirmelerinin adlandırma şeması hakkında daha fazla bilgi için, Microsoft Bilgi Bankası 'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

822499 Microsoft SQL Server yazılım güncelleştirme paketlerinin yeni adlandırma şemasıYazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası 'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Microsoft Insider 'a katılın

Bu bilgi yardımcı oldu mu?

Geri bildiriminiz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×