Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Les performances sont ralenties si la table AsyncOperationBase devient trop volumineuse dans Microsoft Dynamics CRM 4.0

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 968520
Symptômes
Lorsque vous exécutez Microsoft Dynamics CRM 4.0, la table AsyncOperationBase s'agrandisse pour être très volumineux. Lorsque la table contient des millions d'enregistrements, les performances est lente.

En outre, les erreurs semblables aux suivantes sont enregistrées sur le serveur Microsoft Dynamics CRM dans le journal des événements applications :
Type d'événement : erreur
Source de l'événement : MSCRMDeletionService
Catégorie d'événement : aucun
ID d'événement : 16387
Date : 26/01/2009
Heure: 11:41:54 AM
Utilisateur: n/A
Ordinateur : SERVEURCRM
Description : Erreur : le service de suppression n'a pas pu nettoyer la table = CleanupInactiveWorkflowAssembliesProcedure pour plus d'informations, consultez Aide et support à l'adresse suivante : http://go.microsoft.com/fwlink/events.asp.
Résolution
Pour résoudre ce problème, effectuez un nettoyage de la table AsyncOperationBase en exécutant le script suivant sur le <OrgName> base de données _MSCRM, où <orgname> est un espace réservé pour le nom réel de votre organisation.

Avertissement : travaux avant de nettoyer les données Veuillez Remarque terminée système avez valeur commerciale dans certains cas et devez être stockés pour une longue période, par conséquent, veuillez discuter avec le personnel d'administration de votre orgnization tout d'abord.

Système de travaux affectés :
  • Collecte de données SQM. Mesures de qualité - logiciel qui collecte des données pour le client expérience programme.
  • Travail SQL Update Contract States. Ce travail s'exécute une fois par jour à minuit. Ce travail définit les contrats arrivés à expiration à un état expiré.
  • Organisation plein texte catalogue index - remplit les index de texte intégral dans la base de données pour la recherche articles Ko dans CRM.

Ils seront supprimés si travaux périodiques a été annulée.

Notes
  • Le script SQL dans cet article est effort unique seulement. Vous pouvez ajouter comme un travail SQL à exécuter sur une base périodique dans une base nocturne, hebdomadaire ou mensuelle. comme vos séries CRM , vous devrez appliquer cet article sur une base hebdomadaire en fonction de votre entreprise a besoin, ou appliquer la solution à écrire dans personnalisé BULK DELETE travaux (reportez-vous à notre documentation SDK CRM sur propriété BulkDeleteRequest.QuerySet, classe BulkDeleteRequest et commande de suppression).
  • Assurez-vous que les enregistrements AsyncOperation de flux de travail et les enregistrements correspondants sont supprimées de l'objet WorkflowLogBase .
  • Assurez-vous que tous les enregistrements bulkdeletefailure correspondantes sont supprimées.
  • Assurez-vous que seuls les types d'opération asynchrone suivants sont supprimés si le code d'état des types est 3 et que le code d'état des types est 30 ou 32 :
    • Tâche de développement du flux de travail (1)
    • Collecter des données SQM (9)
    • PersistMatchCode (12)
    • FullTextCatalogIndex (25)
    • UpdateContractStates (27)
    • Flux de travail (10)
IF EXISTS (SELECT name from sys.indexes                  WHERE name = N'CRM_AsyncOperation_CleanupCompleted')      DROP Index AsyncOperationBase.CRM_AsyncOperation_CleanupCompletedGOCREATE NONCLUSTERED INDEX CRM_AsyncOperation_CleanupCompletedON [dbo].[AsyncOperationBase] ([StatusCode],[StateCode],[OperationType])GOdeclare @DeleteRowCount intSelect @DeleteRowCount = 2000declare @DeletedAsyncRowsTable table (AsyncOperationId uniqueidentifier not null primary key)declare @continue int, @rowCount intselect @continue = 1while (@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       commitend--Drop the Index on AsyncOperationBaseDROP INDEX AsyncOperationBase.CRM_AsyncOperation_CleanupCompleted


Améliorer les performances du script de suppression

  • Pour améliorer les performances de Microsoft CRM, planifier le service de suppression de Microsoft CRM à exécuter pendant les heures creuses pour Microsoft CRM. Par défaut, le service s'exécute au moment où Microsoft CRM a été installé. Toutefois, vous pouvez exécuter le service s'exécute à 10: 00 au lieu de à l'heure par défaut. Pour ce faire, utilisez l'éditeur de tâche Microsoft CRM ScaleGroup. Pour plus d'informations, site suivant Web MSDN : Remarque Cette action n'affecte pas directement les performances du script.
  • Pour améliorer les performances des scripts de suppression de cet article et pour améliorer le code de Microsoft CRM DeletionService qui s'exécute supprime similaire, ajoutez les index three suivants à la base de données OrganizationName_MSCRM avant d'exécuter le script de suppression de cet article :
    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
    Remarque si vous n'ajoutez pas ces index, le script de suppression peut prendre heures à s'exécuter.
  • Arrêtez le service de traitement asynchrone Microsoft CRM lorsque vous exécutez ce script.
  • argument facultatif : reconstruire les index suivants et mettre à jour statistiques :
    -- 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
  • argument facultatif : Mise à jour statistiques avec analyse complète toutes les tables impliquées dans cette requête à l'aide de la sous commandes (préférence au hors des heures de pointe):
    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
  • argument facultatif : modifier le modèle de récupération de la base de données MSCRM pour simple pour éviter trop de génération de journaux de serveur SQL. Pour SQL server 2005, connexion à Microsoft SQL Server Management Studio en tant qu'administrateur, cliquez avec le bouton droit sur votre base de données <org_name> _MSCRM, cliquez sur Propriétés , cliquez sur Options , puis sur Modèle de récupération . Sélectionnez simple et puis cliquez sur OK . après avoir exécuté ce script de la première fois, le modèle de récupération <org_name> _MSCRM de base de données doit être remis à complet du modèle de récupération données mieux.




Pour déterminer le nombre d'enregistrements supprimés par le script dans cet article, exécutez le script compte suivant dans la base de données 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) 
Plus d'informations
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
954929L'entité AsyncOperation consomme une partie importante de la base de données [Org] _MSCRM et provoque une baisse des performances dans Microsoft Dynamics CRM
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
957871Les enregistrements de tâches de développement workflow provoquent la table AsyncOperationBase dans la base de données MSCRM afin de devenir trop volumineux dans Microsoft Dynamics CRM 4.0
Pour plus d'informations sur la terminologie mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
824684Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft
Pour plus d'informations sur la terminologie package Microsoft Business Solutions CRM logicielle correctif et mise à jour, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
887283Normes d'attribution de noms packages de mise à jour et correctifs logiciels Microsoft Business Solutions CRM

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 968520 - Dernière mise à jour : 09/01/2009 08:24:09 - Révision : 7.0

Microsoft Dynamics CRM 4.0

  • kbmt kbfix kbautohotfix kbexpertiseinter kbsurveynew kbmbsmigrate kbqfe kbhotfixserver KB968520 KbMtfr
Commentaires