A Microsoft distribui as correções R2 SP1 do Microsoft SQL Server 2008 como um ficheiro transferível. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção R2 SP1 do SQL Server 2008.
Sintomas
Considere o seguinte cenário:
-
Uma base de dados do Management Data Warehouse (MDW) tem uma tabela snapshots.query_stats que contém uma grande quantidade de dados no Microsoft SQL Server 2008 ou no Microsoft SQL Server 2008 R2.
-
Executou o seguinte trabalho de Colecionador de Dados para limpar dados da base de dados MDW.
mdw_purge_data_<nome da base de dados da MDW>]
Neste cenário, demora muito tempo para que o trabalho de Colecionador de Dados limpe os dados. Notas
-
O trabalho de Colecionador de Dados chama o procedimento core.sp_purge_data armazenado para limpar dados.
-
Para obter mais informações sobre este problema no SQL Server 2008 R2, visite o seguinte website da Microsoft:
Informações gerais sobre este problema no SQL Server 2008 R2
Causa
Esta questão ocorre porque o trabalho mdw_purge_data leva muito tempo a realizar uma operação clara orientada para o lote se a tabela snapshots.query_stats contiver uma grande quantidade de dados.
Resolução
Informações do pacote de serviço
SQL Server 2008Para resolver este problema no SQL Server 2008, siga estes passos:
-
Obtenha o mais recente pacote de serviços para SQL Server 2008.Para mais informações, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
968382 Como obter o mais recente pacote de serviços para SQL Server 2008
-
Para uma base de dados MDW existente, tem de atualizá-la executando o Assistente de Armazém de Dados de Gestão de Configuração depois de instalar o mais recente pacote de serviços para o SQL Server 2008.
SQL Server 2008 R2Para resolver este problema no SQL Server 2008 R2, siga estes passos:
-
Obtenha o mais recente pacote de serviços para SQL Server 2008 R2. Para mais informações, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
2527041 Como obter o mais recente pacote de serviços para SQL Server 2008 R2
-
Para uma base de dados MDW existente, deve atualizá-la executando o Configure Management Data Warehouse Wizard depois de instalar o mais recente pacote de serviços para SQL Server 2008 R2
-
Atualizar o procedimento armazenado sp_purge_orphaned_notable_query_text da seguinte forma:Procedimento existente
-- Deleting TOP N orphaned rows in query plan table by joining info from temp table variable-- This is done to speed up delete query. DELETE TOP (@delete_batch_size) snapshots.notable_query_plan FROM snapshots.notable_query_plan AS qp , #tmp_notable_query_plan AS tmpWHERE tmp.[sql_handle] = qp.[sql_handle]
Procedimento atualizado
-- Deleting TOP N orphaned rows in query text table by joining info from temp table-- This is done to speed up delete query. DELETE TOP (@delete_batch_size) snapshots.notable_query_text FROM snapshots.notable_query_text AS qt, #tmp_notable_query_text AS tmpWHERE tmp.[sql_handle] = qt.[sql_handle]
Nota Estas alterações são necessárias para corrigir o texto do procedimento de sp_purge_orphaned_notable_query_text armazenado porque a declaração de eliminação refere incorretamente a tabela snapshots.notable_query_plan após a aplicação do SqL Server 2008 R2 Service Pack 1.
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
O script completo para atualizar o procedimento armazenado pelo colecionador de dados também pode ser encontrado no seguinte blog: