Výkon je pomalý, pokud tabulka AsyncOperationBase stane příliš velký v aplikaci Microsoft Dynamics CRM 4.0

Překlady článku Překlady článku
ID článku: 968520 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Při spuštění Microsoft Dynamics CRM 4.0 tabulky AsyncOperationBase roste být velmi velké. Pokud tabulka obsahuje milióny záznamů, je pomalý.

Navíc jsou na serveru Microsoft Dynamics CRM v protokolu událostí aplikace zaznamenány chyby podobné následujícím:
Typ události: Chyba
Zdroj události: MSCRMDeletionService
Kategorie události: žádný
ID události: 16387
Datum: 2009, 01/26
Čas: 11:41:54 AM
Uživatel: N/A
Počítač: CRMSERVER
Popis: Chyba: odstranění službě se nepodařilo vyčistit tabulku = CleanupInactiveWorkflowAssembliesProcedure Další informace naleznete v nápovědě a odborné na adrese http://go.microsoft.com/fwlink/events.asp.

Řešení

Tento problém vyřešíte spuštěním následujícího skriptu proti <OrgName> Databáze _MSCRM kde <orgname>je zástupný symbol pro skutečný název organizace.

Upozornění:Před čištění dat prosím Poznámka dokončena systémové úlohy v některých případech mají hodnotu obchodní a potřebujete uložené pro dlouhé období, takže Diskuse prosím s pracovníky pro správu vaší orgnization nejprve.

Uskutečnit systémové úlohy:
  • Kolekce dat SQM. -Program docházet měřítka kvality softwaru které shromažďuje data pro zákazníka.
  • Úloha aktualizace smlouvy státy SQL. Tato úloha spouští jednou za den na půlnoci. Tato úloha nastaví stav neplatné platností smluv.
  • Naplní organizace úplný text katalogu Index - index úplný text v db hledání články kb v CRM.

Pokud zrušena opakované úlohy jejich budou odebrány.

Poznámky
  • Skript SQL v Tento článek je pouze jednorázový úsilí. Můžete přidat toto jako SQL úlohu spustit na nočního, týdenní nebo měsíční základ periodického základ. Jako vaše CRM spustí , nutné buď použít tento článek na základě týdenní v závislosti na váš podnik potřebuje nebo použít řešení podle writting vlastní úlohy HROMADNÉ DELETE (naleznete naše CRM SDK dokumentaci na vlastnost BulkDeleteRequest.QuerySet, BulkDeleteRequest třídy a odstranění objednávky).
  • Ujistěte se, že odstraněné záznamy AsyncOperation pro pracovní postupy a odpovídající záznamy z objektu WorkflowLogBase.
  • Ujistěte se, že budou odstraněny všechny odpovídající záznamy bulkdeletefailure.
  • Přesvědčte se, zda pouze následující typy operace Async jsou odstraněna, pokud je kód stavu typy 3 a kód stavu typy je 30 nebo 32:
    • Rozšiřující úkol pracovního postupu (1)
    • Shromažďování dat SQM (9)
    • PersistMatchCode (12)
    • FullTextCatalogIndex (25)
    • UpdateContractStates (27)
    • Pracovní postup (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


Zlepšení výkonu odstranění skriptu

  • Zlepšit celkový výkon Microsoft CRM naplánovat odstranění CRM služby spustit špičku pro aplikaci Microsoft CRM. Ve výchozím nastavení je služba spuštěna v okamžiku nainstalována aplikace Microsoft CRM. Můžete však spustit služby 10: 00 HODIN namísto na výchozí čas spuštění. To provedete pomocí editoru úlohy CRM ScaleGroup. Další informace naleznete na následujícím webu MSDN:
    http://code.msdn.microsoft.com/ScaleGroupJobEditor/Release/ProjectReleases.aspx?ReleaseId=676
    Poznámka: Tato akce neovlivní výkon skriptu přímo.
  • Zlepšení výkonu odstranění skripty v tomto článku a zlepšit Microsoft CRM DeletionService kód spuštěný podobné odstraní přidat následující indexy threeOrganizationName_MSCRM databáze před spuštěním skriptu odstranění v tomto článku:
    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
    
    Poznámka Pokud přidáte tyto indexy skriptu odstranění může trvat hodiny spustit.
  • Zastavit CRM asynchronní zpracování služby při spuštění tohoto skriptu.
  • OPTIONAL: následující indexy znovu vytvořit a aktualizovat statistiky:
    -- 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: Statistika aktualizovat pomocí úplné skenování na všechny tabulky zapojených pomocí dotazu níže příkazy (nejlépe na vypnuto špičky):
    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 : změnit model zotavení databáze MSCRM Simple vyhnout nadbytečných generování protokolů serveru SQL. SQL server 2005 přihlášení Management Studio Microsoft SQL Server jako správce, klepněte pravým tlačítkem myši na databázi _MSCRM <org_name>, klepněte na tlačítkoVlastnosti, klepněte na příkaz Možnosti a potom klepněte na Model obnovení. Označit Simple a potom klepněte na tlačítko OK. Po spuštění tohoto skriptu počáteční čas, model zotavení databáze _MSCRM <org_name> Přepnutí zpět do FULL nejlepší datový model obnovitelnost.




Určit číslo záznamy odstraněny skriptem v tomto článku, spusťte následující skript počet proti databázi OrganizationName_MSCRM:
Select Count(AsyncOperationId)
from AsyncOperationBase WITH (NOLOCK)
where OperationType in (1, 9, 12, 25, 27, 10) 
AND StateCode = 3 AND StatusCode IN (30,32) 

Další informace

Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
954929Entita AsyncOperation spotřebovává významnou součástí databáze _MSCRM [organizační] a způsobuje snížení výkonu v aplikaci Microsoft Dynamics CRM
Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
957871Záznamy Workflow rozšiřující úloh způsobit AsyncOperationBase tabulky v databázi MSCRM růst v aplikaci Microsoft Dynamics CRM 4.0 příliš velký
Další informace o terminologii používané v aktualizacích softwaru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft
Další informace o Microsoft Business Solutions CRM software opravy hotfix a aktualizace balíček terminologii klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
887283Standardy používání názvů u balíčků oprav hotfix a aktualizací softwaru aplikace Microsoft Business Solutions CRM (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Vlastnosti

ID článku: 968520 - Poslední aktualizace: 1. září 2009 - Revize: 7.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Dynamics CRM 4.0
Klíčová slova: 
kbmt kbfix kbautohotfix kbexpertiseinter kbsurveynew kbmbsmigrate kbqfe kbhotfixserver KB968520 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:968520

Dejte nám zpětnou vazbu

 

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