AsyncOperationBase tablo Microsoft Dynamics CRM 4.0 için çok büyük olduğunda performansı yavaşlıyor

Makale çevirileri Makale çevirileri
Makale numarası: 968520 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Microsoft Dynamics CRM 4. 0'ı çalıştırdığınızda, AsyncOperationBase tablo çok büyük olacak şekilde genişler. Tablonun kayıtları milyonlarca içeriyorsa, performansı yavaşlıyor.

Ayrıca, aşağıdakine benzer bir hata, Microsoft Dynamics CRM sunucusunda uygulama olay günlüğüne kaydedilir:
Olay türü: hata
Olay kaynağı: MSCRMDeletionService
Olay kategorisi: yok
Olay KIMLIĞI: 16387
Tarih: 2009/01/26
Süre: 11:41:54 AM
Kullanı.: Yok
Bilgisayar: CRMSUNUCUSU
Açıklama: Hata: silme hizmeti tablosunu temizleme başarısız oldu CleanupInactiveWorkflowAssembliesProcedure = daha fazla bilgi için http://go.microsoft.com/fwlink/events.asp adresindeki Yardım ve Destek Merkezi'ne bakın.

Çözüm

Bu sorunu gidermek için <a0></a0>, karşı <OrgName> _MSCRM veritabanının olduğu <orgname>gerçek kuruluşunuzun adı için yer tutucudur.

WARNING:Verileri, lütfen sistem tamamlandı Not temizlemeyi önce işleri iş değer bazı durumlarda ve uzun bir dönem için bu nedenle depolanması gereken Lütfen orgnization'ın yönetim personeli ile ilk tartışın.

Etkilenen sistem işleri:
  • SQM veri toplama. -Müşteri için veri toplayan Yazılım Kalitesi Ölçümü program yaşarsınız.
  • Güncelleştirme sözleşme durumları SQL işlemi. Bu işlem, gece yarısı günde bir kez çalıştırılır. Bu işlem, süresi dolan sözleşmeler bir tarihi geçmiş durumuna ayarlar.
  • Kuruluş tam metin Kataloğu dizin - CRM'DE bb makaleleri arama, db tam metin dizinine doldurur.

Yinelenen işleri iptal bunlar kaldırılır.

Notları
  • Bu KB makalesindeki SQL komut dosyası yalnızca bir defalık bir çaba olur. , Bu yinelenen bir temeli temizlemeyi her gece uygulanan, haftalık veya aylık olarak çalıştırmak için SQL iş olarak ekleyebilirsiniz. Haftalık olarak iş türüne göre bu BB makalesi, CRM çalışır , ya da gereksinim duyduğunuz uygulamak gibi gerekiyor veya çözüm writting özel BULK DELETE işleri uygulanır (BulkDeleteRequest.QuerySet özelliği, BulkDeleteRequest sınıfı ve sipariş silme, bizim CRM SDK belgelerine başvurun).
  • Iş akışı AsyncOperation kayıtlarını ve ilgili kayıtları WorkflowLogBase nesneden silinmediğinden emin olun.
  • Ilgili tüm bulkdeletefailure kayıtları silinmediğinden emin olun.
  • Yalnızca aşağıdaki zaman uyumsuz işlem türünü türlerinden il kodu 3, durum kodu türü, 30 veya 32 ise silinmediğinden emin olun:
    • Iş akışı genişletme görev (1)
    • SQM veri toplama (9)
    • PersistMatchCode (12)
    • FullTextCatalogIndex (25)
    • UpdateContractStates (27)
    • Iş akışı (10)
IF EXISTS (SELECT name from sys.indexes
                  WHERE name = N'CRM_AsyncOperation_CleanupCompleted')
      DROP Index AsyncOperationBase.CRM_AsyncOperation_CleanupCompleted
GO
CREATE NONCLUSTERED INDEX CRM_AsyncOperation_CleanupCompleted
ON [dbo].[AsyncOperationBase] ([StatusCode],[StateCode],[OperationType])
GO

declare @DeleteRowCount int
Select @DeleteRowCount = 2000
declare @DeletedAsyncRowsTable table (AsyncOperationId uniqueidentifier not null primary key)
declare @continue int, @rowCount int
select @continue = 1
while (@continue = 1)
begin
      begin tran
      insert into @DeletedAsyncRowsTable(AsyncOperationId)
      Select top (@DeleteRowCount) AsyncOperationId
      from AsyncOperationBase
      where OperationType in (1, 9, 12, 25, 27, 10) AND StateCode = 3 AND StatusCode in (30, 32)     
 
      Select @rowCount = 0
      Select @rowCount = count(*) from @DeletedAsyncRowsTable
      select @continue = case when @rowCount <= 0 then 0 else 1 end     
 
        if (@continue = 1)
        begin
            delete WorkflowLogBase from WorkflowLogBase W, @DeletedAsyncRowsTable d
            where W.AsyncOperationId = d.AsyncOperationId
            
delete BulkDeleteFailureBase From BulkDeleteFailureBase B, @DeletedAsyncRowsTable d
            where B.AsyncOperationId = d.AsyncOperationId
 
            delete AsyncOperationBase From AsyncOperationBase A, @DeletedAsyncRowsTable d
            where A.AsyncOperationId = d.AsyncOperationId            
 
            delete @DeletedAsyncRowsTable
      end
 
      commit
end

--Drop the Index on AsyncOperationBase

DROP INDEX AsyncOperationBase.CRM_AsyncOperation_CleanupCompleted


Silme işlemini komut dosyasının performansını iyileştirme

  • Genel Microsoft CRM performansını artırmak için <a0></a0>, Microsoft CRM silme hizmetin Microsoft CRM için yoğun olmayan saatlerde çalışacak şekilde zamanlayın. Hizmet, varsayılan olarak, Microsoft CRM'NIN yüklü sırada çalışır. Ancak, hizmet, 10: 00 PM yerine <a0>Varsayılan</a0> anda çalışacak şekilde çalıştırabilirsiniz. Bunu yapmak için <a0></a0>, Microsoft CRM ScaleGroup iş Düzenleyici'yi kullanın. Daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
    http://code.msdn.microsoft.com/ScaleGroupJobEditor/Release/ProjectReleases.aspx?ReleaseId=676
    Not Bu eylem, doğrudan komut dosyası performansını etkilemez.
  • Bu makalenin <a2>silme</a2> komut performansını ve benzer siler çalışan Microsoft CRM DeletionService kod geliştirmek için bu makalenin <a2>silme</a2> komut çalıştırmadan önce OrganizationName_MSCRM veritabanına aşağıdaki threedizinleri ekleme:
    CREATE NONCLUSTERED INDEX CRM_WorkflowLog_AsyncOperationID ON [dbo].[WorkflowLogBase] ([AsyncOperationID])
    GO 
    
    CREATE NONCLUSTERED INDEX CRM_DuplicateRecord_AsyncOperationID ON [dbo].[DuplicateRecordBase] ([AsyncOperationID])
    GO
    
    CREATE NONCLUSTERED INDEX CRM_BulkDeleteOperation_AsyncOperationID ON [dbo].[BulkDeleteOperationBase]
    (AsyncOperationID)
    GO
    
    Bu dizinler ekleme, Not, silme işlemini komut dosyası çalıştırmak için saat alabilir.
  • Bu komut dosyasını çalıştırırken Microsoft CRM zaman uyumsuz işleme hizmetini durdurun.
  • OPTIONAL: aşağıdaki dizinler Rebuild ve istatistikleri güncelleştirme:
    -- Rebuild Indexes & Update Statistics on AsyncOperationBase Table 
    ALTER INDEX ALL ON AsyncOperationBase REBUILD WITH (FILLFACTOR = 80, ONLINE = OFF,SORT_IN_TEMPDB = ON, STATISTICS_NORECOMPUTE = OFF)
    GO 
    -- Rebuild Indexes & Update Statistics on WorkflowLogBase Table 
    ALTER INDEX ALL ON WorkflowLogBase REBUILD WITH (FILLFACTOR = 80, ONLINE = OFF,SORT_IN_TEMPDB = ON, STATISTICS_NORECOMPUTE = OFF)
    
    GO
  • OPTIONAL: Bu sorgu kullanma ile ilgili tüm tabloları ile tam tarama istatistikleri güncelleştirme aşağıdaki komutları (tercihen en yüksek saat kapalı):
    UPDATE STATISTICS [dbo].[AsyncOperationBase] WITH FULLSCAN
    UPDATE STATISTICS [dbo].[DuplicateRecordBase] WITH FULLSCAN
    UPDATE STATISTICS [dbo].[BulkDeleteOperationBase] WITH FULLSCAN
    UPDATE STATISTICS [dbo].[WorkflowCompletedScopeBase] WITH FULLSCAN
    UPDATE STATISTICS [dbo].[WorkflowLogBase] WITH FULLSCAN
    UPDATE STATISTICS [dbo].[WorkflowWaitSubscriptionBase] WITH FULLSCAN
  • OPTIONAL : MSCRM veritabanının kurtarma modeli basit SQL Sunucu günlükleri fazla oluşturulmasını önlemek değiştirin. SQL server 2005, Microsoft SQL Server Management Studio'yu, yönetici olarak oturum açma için <org_name> _MSCRM veritabanınıza <a1>sağ</a1> seçeneğini tıklatın,Özellikler, Seçenekler ' i tıklatın ve sonra Kurtarma modeli. Basit işaretleyin ve sonra Tamam ' ı tıklatın. ilk kez bu komut dosyasını çalıştırdıktan sonra veritabanı kurtarma modelini <org_name> _MSCRM yeniden FULL için en iyi veri kurtarılabilirlik modeli için anahtarlamalı.




Bu makaledeki kod tarafından silinmek üzere kayıt sayısını belirlemek için <a0></a0>, OrganizationName_MSCRM veritabanıyla sayısı aşağıdaki komut dosyasını çalıştırın:
Select Count(AsyncOperationId)
from AsyncOperationBase WITH (NOLOCK)
where OperationType in (1, 9, 12, 25, 27, 10) 
AND StateCode = 3 AND StatusCode IN (30,32) 

Daha fazla bilgi

Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
954929AsyncOperation varlık <a0>[Kuruluş]</a0> _MSCRM veritabanının önemli bir bölümünü tüketir ve düşük performans Microsoft Dynamics CRM'DE neden olur.
Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
957871Iş akışı genişletme görev kayıtları AsyncOperationBase tablo MSCRM veritabanı, Microsoft Dynamics CRM 4. 0'çok fazla büyümesine neden
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:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması
Microsoft Business Solutions CRM yazılım düzeltmesi ve güncelleştirme paketi terminolojisi hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
887283Microsoft Business Solutions CRM yazılım düzeltmesi ve güncelleştirme paketi adlandırma standartları

Özellikler

Makale numarası: 968520 - Last Review: 1 Eylül 2009 Salı - Gözden geçirme: 7.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Dynamics CRM 4.0
Anahtar Kelimeler: 
kbmt kbfix kbautohotfix kbexpertiseinter kbsurveynew kbmbsmigrate kbqfe kbhotfixserver KB968520 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:968520

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com