Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.

Simptomi

Kada pokrenete Microsoft Dynamics CRM 4,0, Microsoft Dynamics CRM 2011, Microsoft Dynamics CRM 2013 ili Microsoft Dynamics CRM 2015, tablica AsyncOperationBase bit će vrlo velika. Kada tablica sadrži milijune zapisa, performanse su spore. Uz to, pogreške koje nalikuju sljedećim zapisuju se u zapisniku događaja aplikacije na poslužitelju na kojem je instaliran Microsoft Dynamics CRM:

Vrsta događaja: izvor ErrorEvent: Kategorija Mcirmdeletilserviceevent: neažurirane iskaznice: 18389Date: 2009/01/26Time: 11:41:54 emajer: N/Akomputer: Stariserverdescription: poruka o pogreški: Brisanje servisa nije ispunilo proročanstvo za čišćenje tablice = u sustavu http://go.microsoft.com/fwlink/events.asp.

Rješenje

Da biste riješili taj problem, izvršite čišćenje tablice AsyncOperationBase pokretanjem sljedeće skripte na<orgname>_MSCRM baze podataka, gdje rezervirano mjesto<orgname> predstavlja stvarni naziv vaše tvrtke ili ustanove.Upozorenje Prije nego što očistite podatke, imajte na umu da dovršeni sistemski poslovi imaju poslovnu vrijednost u nekim slučajevima i da moraju biti pohranjeni dugo razdoblje. Dakle, trebali biste razgovarati o tome sa osobljem administracije tvrtke ili ustanove. Sistemski poslovi koji su pogođeni:

  • M2 zbirke podataka. Metrika softvera Quality prikuplja podatke za program korisničkog iskustva.

  • Ažuriranje stanja ugovora za SQL Ovaj se posao izvršava jedan put po danu u ponoć. Ovaj posao određuje istekle ugovore s istekom stanja.

  • Indeks kataloga cijele tvrtke ili ustanove. Ispunjava indeks čitavog teksta u DB-u za traženje članaka iz Microsoftove baze znanja u sustavu CRM.

Ako se ponavljajući poslovi otkazuju, bit će uklonjeni. Napomene

  • Za Microsoft Dynamics CRM SQL skripta u ovom članku iz baze znanja samo je jednokratni napor. To možete dodati kao SQL posao da bi se vodio na ponavljajuću noćnu, tjednu ili mjesečnu osnovicu. Dok se CRM pokreće, morate primijeniti ovaj članak tjedno, ovisno o poslovnim potrebama ili primijenite rješenje pisanjem prilagođenih radnih mjesta za masovno brisanje. (Pogledajte dokumentaciju u CRM SDK-u u svojstvu u kategoriji prepredeleterequest. QuerySet , u klasi prepredeleterequest i redoslijedom brisanja)

  • Provjerite brišu li se zapisi Asnkoperacije za tijekove rada i odgovarajuće zapise iz objekta Workflowbase .

  • Provjerite brišu li se sve odgovarajuće zapise o preprepreprepreprei

  • Provjerite jesu li izbrisane samo sljedeće vrste ANC-a ako je broj stanja vrste 3, a Šifra statusa vrste 30 ili 32:

    • Zadatak proširenja tijeka rada (1)

    • Prikupljanje m2 podataka (9)

    • Konstantno podudarni kod (12)

    • Fulltextkatalgindex (25)

    • Updatelcontractstates (27)

    • Tijek rada (10)

IF EXISTS (SELECT name from sys.indexesWHERE name = N'CRM_AsyncOperation_CleanupCompleted')      DROP Index AsyncOperationBase.CRM_AsyncOperation_CleanupCompletedGOCREATE NONCLUSTERED INDEX CRM_AsyncOperation_CleanupCompletedON [dbo].[AsyncOperationBase] ([StatusCode],[StateCode],[OperationType])GOwhile(1=1)begindeclare @DeleteRowCount int = 10000declare @rowsAffected intdeclare @DeletedAsyncRowsTable table (AsyncOperationId uniqueidentifier not null primary key)insert into @DeletedAsyncRowsTable(AsyncOperationId)Select top (@DeleteRowCount) AsyncOperationId from AsyncOperationBasewhere   OperationType in (1, 9, 12, 25, 27, 10)   AND StateCode = 3   AND StatusCode in (30, 32) select @rowsAffected = @@rowcount  delete poa from PrincipalObjectAccess poa    join WorkflowLogBase wlb on    poa.ObjectId = wlb.WorkflowLogId   join @DeletedAsyncRowsTable dart on    wlb.AsyncOperationId = dart.AsyncOperationIddelete WorkflowLogBase from WorkflowLogBase W, @DeletedAsyncRowsTable dwhere   W.AsyncOperationId = d.AsyncOperationId              delete BulkDeleteFailureBase From BulkDeleteFailureBase B, @DeletedAsyncRowsTable dwhere   B.AsyncOperationId = d.AsyncOperationIddelete BulkDeleteOperationBase From BulkDeleteOperationBase O, @DeletedAsyncRowsTable dwhere   O.AsyncOperationId = d.AsyncOperationIddelete WorkflowWaitSubscriptionBase from WorkflowWaitSubscriptionBase WS, @DeletedAsyncRowsTable dwhere   WS.AsyncOperationId = d.AsyncOperationID  delete AsyncOperationBase From AsyncOperationBase A, @DeletedAsyncRowsTable dwhere   A.AsyncOperationId = d.AsyncOperationId/*If not calling from a SQL job, use the WAITFOR DELAY*/if(@DeleteRowCount > @rowsAffected)  returnelse  WAITFOR DELAY '00:00:02.000'end

Poboljšavanje performansi skripte za brisanje

  • Da biste povećali ukupnu izvedbu sustava Microsoft Dynamics CRM, zakazivanje servisa za brisanje sustava Microsoft Dynamics CRM pokreće se za vrijeme izvan vrha sati za Microsoft Dynamics CRM. Servis se po zadanom izvršava u trenutku instalacije sustava Microsoft Dynamics CRM. Međutim, servis možete postaviti tako da se pokreće u programu 10:00 PM umjesto u zadanom vremenu. Da biste to učinili, poslužite se uređivačem zadatka ScaleGroup za Microsoft Dynamics CRM. Dodatne informacije potražite na sljedećem web-mjestu Kodeplex:

    http://crmjobeditor.codeplex.com/Napomene

    1. Ova akcija ne utječe izravno na performanse skripte.

    2. Uređivač poslova za Microsoft Dynamics CRM 4,0 je Nepostavljen i više nije dostupan.

  • Da biste unaprijedili performanse skripti brisanja u ovom članku i unaprijedili kod servisa za brisanje sustava Microsoft Dynamics CRM, dodajte sljedeća tri indeksa u bazu podataka OrganizationName_MSCRM prije pokretanja skripte za brisanje u ovom članku:

    CREATE NONCLUSTERED INDEX CRM_WorkflowLog_AsyncOperationID ON [dbo].[WorkflowLogBase] ([AsyncOperationID])GO CREATE NONCLUSTERED INDEX CRM_DuplicateRecord_AsyncOperationID ON [dbo].[DuplicateRecordBase] ([AsyncOperationID])GOCREATE NONCLUSTERED INDEX CRM_BulkDeleteOperation_AsyncOperationID ON [dbo].[BulkDeleteOperationBase](AsyncOperationID)GO

    Napomena Ako ne dodate ove indekse, skripta za brisanje može potrajati satima.

  • Tijekom izvođenja ove skripte zaustavite Microsoft Dynamics CRM asinkroni servis za obradu.

  • Neobavezno Ponovno izgradite sljedeće indekse i ažurirajte statistiku:

    -- 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
  • Neobavezno Ažurirajte statistiku pomoću potpunog skeniranja na svim tablicama koje su uključene u ovaj upit pomoću sljedećih naredbi (po mogućnosti kod popusta na vrh sata):

    UPDATE STATISTICS [dbo].[AsyncOperationBase] WITH FULLSCANUPDATE STATISTICS [dbo].[DuplicateRecordBase] WITH FULLSCANUPDATE STATISTICS [dbo].[BulkDeleteOperationBase] WITH FULLSCANUPDATE STATISTICS [dbo].[WorkflowCompletedScopeBase] WITH FULLSCANUPDATE STATISTICS [dbo].[WorkflowLogBase] WITH FULLSCANUPDATE STATISTICS [dbo].[WorkflowWaitSubscriptionBase] WITH FULLSCAN
  • Neobavezno Promijenite model oporavka baze podataka MSCRM na jednostavan kako biste izbjegli višak generacija zapisnika sustava Microsoft SQL Server. Za SQL Server 2005 prijavite se u Microsoft SQL Server Management Studio kao administrator, desnom tipkom miša kliknite vašu <org_name>_MSCRM bazu podataka, kliknite Svojstva, zatim mogućnosti, a potom model oporavka. Označi jednostavno, a zatim kliknite u redu. Kada prvi put pokrenete ovu skriptu, <org_name model oporavka baze podataka>_MSCRM će se vratiti na puni za najbolji model za povrat podataka.

  • Da biste povećali performanse skripte, @DeleteRowCount vrijednost 10.000 može se smanjiti

Da biste odredili broj zapisa koji će skripta izbrisati u ovom članku, pokrenite sljedeću skriptu za brojanje u bazi podataka 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) 

Pogreška skripteKada pokrenete skriptu za čišćenje, možda će vam se prikazati poruka o pogrešci slična sljedećoj:

Naredba Izbriši sukobljena je s ograničenjima REFERENCE "asyncoperation_workflowwaitsubscription". Sukob se dogodio u bazi podataka "Contoso_MSCRM", tablica "Debo. WorkflowWaitSubscriptionBase ", stupac ' AsyncOperationId '. Naredba je prekinuta.

Ako vam se prikaže ta poruka o pogrešci, zaustavite skriptu čišćenje, a zatim slijedite ove korake da biste uklonili preostale zapise Workflowwaitpretplate koji postoje za dovršene ili otkazane tijekove rada. Ti zapisi više ne bi trebali postojati jer su trebali biti izbrisani kada su tijekovi rada završeni ili otkazani. Ne biste trebali vidjeti zapise koji su vraćeni iz ovog upita. Sve što je preostalo u tablici Workflowwaitsubscriptiibase koja se prikazuje u ovom upitu jest napušteni zapis. Te zapise ne možete izbrisati putem korisničkog sučelja jer je proces Asnc-a u sustavu Microsoft CRM u otkazanom ili dovršenom stanju. U sljedećoj će skriptama biti potvrdno koliko za dovršene i otkazane zapise tijeka rada postoje ostali neispunjeni zapisi Workflowwait.

select count(*) from workflowwaitsubscriptionbase WITH (NOLOCK) where asyncoperationid in (Select asyncoperationid from AsyncOperationBase WITH (NOLOCK) where OperationType in (1, 9, 12, 25, 27, 10) AND StateCode = 3 AND StatusCode IN (30,32)) 

U sljedećem će se skriptama izbrisati Workflowwaitsubscriptianbase zapisi za obuobućane Workflowwaitsubscriptianbase zapise za dovršene i otkazane zapise tijeka rada:

delete from workflowwaitsubscriptionbase where asyncoperationid in(Select asyncoperationidfrom AsyncOperationBasewhere OperationType in (1, 9, 12, 25, 27, 10) AND StateCode = 3 AND StatusCode IN (30,32))

Nakon izvršavanja ove izjave za brisanje, uspješno će se dovršiti Asncoperationbase i čišćenje tijeka rada.

Dodatne informacije

Dodatne informacije potražite u člancima iz Microsoftove baze znanja pod sljedećim brojevima:

954929 Entitet Asncoperation troši značajan dio baze podataka sustava [org] _MSCRM i uzrokuje slabe performanse u sustavu Microsoft Dynamics CRM

957871 Zapisi zadatka proširenja tijeka rada uzrokuju prevelik broj Asncoperationbase tablice u bazi podataka MSCRM da bi narasla prevelika u sustavu Microsoft Dynamics CRM 4,0 Dodatne informacije o terminologiji za softversko ažuriranje potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

824684 Opis standardne terminologije koja se koristi za opisivanje ažuriranja Microsoftova softveraDodatne informacije o hitnim izvršenjima softvera za Microsoft Business Solutions i ažuriranjem paketa sustava CRM potražite u članku iz Microsoftove baze znanja pod brojem

887283 Popravak i ažuriranje standarda imenovanja paketa za Microsoft Business Solutions CRM

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×