AsyncOperationBase 테이블의 Microsoft Dynamics CRM 4.0 너무 큰 경우 성능이 느려진다

기술 자료 번역 기술 자료 번역
기술 자료: 968520 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

Microsoft Dynamics CRM 4.0 실행할 때 AsyncOperationBase 테이블 매우 큰 수 커집니다. 수백만 개의 레코드 테이블에 들어 있으면 성능이 느립니다.

또한, 응용 프로그램 이벤트 로그에 Microsoft Dynamics CRM 서버에서 다음과 유사한 오류가 기록됩니다.
이벤트 종류: 오류
이벤트 원본: MSCRMDeletionService
이벤트 범주: 없음
이벤트 ID: 16387
날짜: 2009년/01/26
시간: 오전 11:41:54
사용자: N/A
컴퓨터: CRMSERVER
설명: 오류: 삭제 테이블을 구성하는 정리 못했습니다 CleanupInactiveWorkflowAssembliesProcedure = 자세한 내용은 도움말 및 지원 센터를 시 http://go.microsoft.com/fwlink/events.asp 참조하십시오.

해결 방법

이 문제를 해결하려면 AsyncOperationBase 테이블 정리에 대해 <OrgName> _MSCRM 데이터베이스 위치를 <orgname>조직의 실제 이름에 대한 자리 표시자입니다.

경고:데이터를 백업하고 시스템 완료된 참고 주십시오 정리 전에 작업을 경우에 비즈니스 값이 있고 긴 기간 동안 저장할 수 있도록 하는 주십시오 사용자의 orgnization 관리 담당자는 먼저 설명합니다.

시스템 작업 영향을:
  • SQM 데이터 수집입니다. -고객에 대한 데이터를 수집하는 소프트웨어 품질 메트릭 프로그램을 발생할.
  • 계약 상태 업데이트 SQL 작업이입니다. 이 작업은 자정에 하루에 한 번이 실행됩니다. 이 작업은 만료된 계약의 만료되는 상태로 설정합니다.
  • 조직 전체 텍스트 카탈로그 인덱스 - db CRM에서 KB 기사 검색 전체 텍스트 인덱스를 채웁니다.

되풀이 작업이 취소된 경우 제거될 수 있습니다.

슬라이드 노트
  • 이 기술 자료 문서 SQL 스크립트에서 일회성 노력을 것입니다. 가 매일 밤, 매주 또는 매월 단위로 반복적으로 실행하도록 SQL 작업을 추가할 수 있습니다. 해당 CRM 실행을 , 중 하나에 필요한 업무에 따라 주 단위로 이 기술 자료 문서가 적용되므로 필요한 또는 writting 지정 BULK DELETE 작업에 솔루션 적용 (BulkDeleteRequest.QuerySet 속성, BulkDeleteRequest 클래스 및 삭제 순서 우리의 CRM SDK 설명서를 참조하십시오).
  • WorkflowLogBase 개체에서 워크플로에 대해 AsyncOperation 레코드 및 해당 레코드가 삭제되도록 합니다.
  • 모든 bulkdeletefailure 해당 레코드가 삭제되도록 합니다.
  • 다음 비동기 작업을 형식만 형식 중 상태 코드가 3 형식 중 상태 코드가 30 또는 32 경우 삭제되도록 합니다.
    • 워크플로 확장 작업 (1)
    • SQM 데이터 (9) 수집
    • PersistMatchCode (12)
    • FullTextCatalogIndex (25)
    • UpdateContractStates (27)
    • 워크플로 (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


삭제 스크립트 성능 향상

  • Microsoft CRM 전반적인 성능을 향상시키려면 Microsoft CRM 삭제 서비스에 대한 Microsoft CRM 사용량이 적은 시간 중에 실행되도록 예약하십시오. 기본적으로 서비스는 Microsoft CRM 설치할 때 실행됩니다. 그러나, 오후 10시 대신 기본 시간에 실행되도록 서비스를 실행할 수 있습니다. 이렇게 하려면 Microsoft CRM ScaleGroup 작업 편집기를 사용하십시오. 자세한 내용은 다음 MSDN 웹 사이트를 방문하십시오.
    http://code.msdn.microsoft.com/ScaleGroupJobEditor/Release/ProjectReleases.aspx?ReleaseId=676
    참고 이 작업을 스크립트 성능에 직접 영향을 미치지 않습니다.
  • 이 문서에서는 삭제 스크립트에서 성능을 향상시킬 수 및 비슷한 삭제 실행되는 Microsoft CRM DeletionService 코드를 향상시킬 수 OrganizationName_MSCRM 데이터베이스에 이 문서의 삭제 스크립트를 실행하기 전에 다음 three인덱스 추가:
    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
    
    이러한 인덱스를 추가할 경우 노트 삭제 스크립트를 실행하는 데 시간이 걸릴 수 있습니다.
  • 이 스크립트를 실행하는 동안 Microsoft CRM 비동기 처리 서비스를 중지하십시오.
  • 옵션: 다음 인덱스 다시 작성 및 통계 업데이트:
    -- 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
  • 옵션: 이 쿼리를 사용하여 관련된 모든 테이블에 대한 전체 검사 통계 업데이트 다음 명령을 아래에 (가급적 시 사용량이 끄기):
    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
  • 옵션 : MSCRM 데이터베이스의 복구 모델을 단순 위해 SQL 서버 로그 과도한 생성을 피하기 위해 변경. SQL Server 2005, Microsoft SQL Server 관리 Studio 관리자로 로그인에 대해 마우스 오른쪽 단추로 <org_name> _MSCRM 데이터베이스를 클릭하고속성, 옵션 을 클릭한 다음 복구 모델 을 클릭합니다. 단순 을 표시한 다음 확인 을 누릅니다. 초기 시간이 이 스크립트 실행 후 <org_name> _MSCRM 데이터베이스 복구 모델 FULL 최상의 데이터 복구 모델에 대한 옮겨갈 수 합니다.




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) 

추가 정보

추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
954929AsyncOperation 엔터티 [조직] _MSCRM 데이터베이스 중요한 부분을 소비하며 Microsoft Dynamics CRM에서 성능 저하 문제가 발생합니다.
추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
957871Microsoft Dynamics CRM 4.0 너무 커질 MSCRM 데이터베이스에서 AsyncOperationBase 테이블 워크플로 확장 작업 레코드를 발생합니다
소프트웨어 업데이트 용어에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
824684Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명
Microsoft 비즈니스 솔루션 CRM 소프트웨어 업데이트 및 핫픽스 패키지 용어에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
887283Microsoft 비즈니스 솔루션 CRM 소프트웨어 핫픽스 및 업데이트를 명명 표준을 패키지합니다

속성

기술 자료: 968520 - 마지막 검토: 2009년 9월 1일 화요일 - 수정: 7.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Dynamics CRM 4.0
키워드:?
kbmt kbfix kbautohotfix kbexpertiseinter kbsurveynew kbmbsmigrate kbqfe kbhotfixserver KB968520 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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