Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Quando executa o Microsoft Dynamics CRM 4.0, a tabela AsyncOperationBase aumenta seja muito grande. Quando a tabela contém milhares de registos, o desempenho é lento.
Além disso, os erros semelhantes aos seguintes são registados no servidor do Microsoft Dynamics CRM no registo de eventos de aplicações:
Tipo de evento: erro Origem do evento: MSCRMDeletionService Categoria do evento: nenhum ID do evento: 16387 Data: 2009/01/26 Hora: 11:41:54 AM Utilizador: N/d Computador: SERVIDOR_CRM Descrição: Erro: o serviço de eliminação não conseguiu limpar tabela = CleanupInactiveWorkflowAssembliesProcedure para obter mais informações, consulte Centro de ajuda e suporte em http://go.microsoft.com/fwlink/events.asp.
Para resolver este problema, execute uma limpeza da tabela AsyncOperationBase executando o seguinte script contra o <OrgName> base de dados _MSCRM, onde <orgname> é um marcador para o nome real da sua organização.
Aviso: tarefas antes de limpar os dados, nota que concluída sistema têm valor de negócio em alguns casos e necessitam de ser armazenados durante um longo período, por isso, consulte primeiro a discutir com administração pessoal o orgnization.
Tarefas do sistema afectado.
Recolha de dados do SQM. Métrica de qualidade - software que recolhe dados para o cliente detecta um programa.
Tarefa SQL de actualização contrato estados. Esta tarefa é executada uma vez por dia à meia-noite. Esta tarefa define os contratos expirados num estado de expirado.
Organização completa o índice de catálogo de texto - preenche índice em texto completo na base de dados para procurar artigos da kb no CRM.
Se tem sido canceladas tarefas periódicas serão removidos.
notas
O script SQL neste artigo KB é apenas esforço único. Pode adicionar isto como uma tarefa SQL para ser executada numa base periódica numa base efectuadas durante a noite, semanal ou mensal. conforme executa a CRM , terá um aplica neste artigo KB numa base semanal dependendo da sua empresa necessita ou aplicar a solução writting personalizadas BULK DELETE tarefas (por favor consulte nossa documentação SDK do CRM na propriedade BulkDeleteRequest.QuerySet, classe BulkDeleteRequest e ordem de eliminação).
Certifique-se que os registos AsyncOperation de fluxos de trabalho e os registos correspondentes são eliminados do objecto WorkflowLogBase .
Certifique-se de que são eliminados todos os registos bulkdeletefailure correspondente.
Certifique-se de que apenas os seguintes assíncrona operação tipos são eliminados se o código de estado dos tipos é 3 e o código de estado dos tipos é 30 ou 32:
Tarefas de expansão de fluxo de trabalho (1)
Recolher dados do SQM (9)
PersistMatchCode (12)
FullTextCatalogIndex (25)
UpdateContractStates (27)
Fluxo de trabalho (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
Para melhorar o desempenho global do Microsoft CRM, agende serviço de eliminação do Microsoft CRM para executar durante as horas de menor volume de trabalho para o Microsoft CRM. Por predefinição, o serviço é executado na altura em que foi instalado o Microsoft CRM. No entanto, pode executar o serviço para ser executado às 10: 00 em vez de ao tempo predefinido. Para o fazer, utilize o Editor de projecto do Microsoft CRM ScaleGroup. Para mais informações, visite o seguinte site da Web MSDN:
Nota Esta acção não afecta directamente o desempenho do script.
Para melhorar o desempenho dos scripts de eliminação deste artigo e para melhorar o código de Microsoft CRM DeletionService que é executado elimina semelhante, adicione os índices three seguintes na base de dados OrganizationName_MSCRM antes de executar o script de eliminação deste artigo:
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
NOTA: se não adicionar estes índices, o script de eliminação pode demorar horas para ser executado.
Pare o serviço do Microsoft assíncrona processamento CRM enquanto executa este script.
OPTIONAL: reconstruir índices seguintes e actualizar estatísticas:
-- 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: Actualizar estatísticas com verificação total em todas as tabelas envolvidas através desta consulta a abaixo comandos (preferencialmente em Desactivar horas de pico):
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 : alterar o modelo de recuperação da base de dados MSCRM para simples evitar o excesso de geração de registos do servidor SQL. Para SQL server 2005, início de sessão para o Microsoft SQL Server Management Studio como administrador, botão direito do rato clique em base de dados <org_name> _MSCRM, clique em Propriedades , clique em Opções e clique em Modelo de recuperação . Marcar simples e, em seguida, clique em OK . Depois de executar este script a hora inicial, o modelo de recuperação do <org_name> _MSCRM base de dados deve ser mudado para FULL para o melhor modelo de recuperação de dados.
Para determinar o número de registos seja eliminada pelo script neste artigo, execute o seguinte script contagem na base de dados 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)
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
954929
(http://support.microsoft.com/kb/954929/
)
A entidade AsyncOperation consome uma parte significativa da base de dados [organização] _MSCRM e provoca um fraco desempenho no Microsoft Dynamics CRM
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
957871
(http://support.microsoft.com/kb/957871/
)
Os registos de tarefas de expansão de fluxo de trabalho fazer com que a tabela AsyncOperationBase na base de dados MSCRM aumentar demasiado grande no Microsoft Dynamics CRM 4.0
Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684
(http://support.microsoft.com/kb/824684/LN/
)
Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft
Para obter mais informações sobre a Microsoft Business Solutions CRM hotfix e atualização pacote terminologia de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
887283
(http://support.microsoft.com/kb/887283/
)
Padrões de nomenclatura do pacote de Microsoft Business Solutions CRM software hotfix e atualização
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 968520
(http://support.microsoft.com/kb/968520/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
O que podemos fazer para melhor estas informações?
Para proteger a sua privacidade, não inclua as informações de contacto nos comentários.
Obrigado! Os seus comentários serão utilizados para nos ajudar a melhorar o conteúdo do suporte. Para obter mais opções de assistência, visite a Home Page da Ajuda e Suporte.