Implementei partições em uma das tabelas do nosso ambiente DEV/TEST, e modifiquei alguns dos procedimentos para usar a chave de partição ao acessar esta tabela.
Como posso verificar se a eliminação de partição está realmente ocorrendo no banco de dados?
Tentei verificar com esta consulta. Mas vi apenas que "partitioned = true" é mencionado, mas não quantas partições foram acessadas.
SELECT
eqs.execution_count,
CAST((1.)*eqs.total_worker_time/eqs.execution_count AS NUMERIC(10,1)) AS avg_worker_time,
eqs.last_worker_time,
CAST((1.)*eqs.total_logical_reads/eqs.execution_count AS NUMERIC(10,1)) AS avg_logical_reads,
eqs.last_logical_reads,
(SELECT TOP 1 SUBSTRING(est.text,statement_start_offset / 2+1 ,
((CASE WHEN statement_end_offset = -1
THEN (LEN(CONVERT(nvarchar(max),est.text)) * 2)
ELSE statement_end_offset END)
- statement_start_offset) / 2+1))
AS sql_statement,
qp.query_plan
FROM sys.dm_exec_query_stats AS eqs
CROSS APPLY sys.dm_exec_sql_text (eqs.sql_handle) AS est
JOIN sys.dm_exec_cached_plans cp on
eqs.plan_handle=cp.plan_handle
CROSS APPLY sys.dm_exec_query_plan (cp.plan_handle) AS qp
WHERE est.text like '%<TABLE_NAME>%'
OPTION (RECOMPILE);
Você tem alguma outra consulta que possa me ajudar a identificar se a eliminação de partição ocorre no meu banco de dados?
Obrigado !
Rony.
Use Eventos Estendidos para capturar planos de execução reais, por meio da
query_post_execution_showplan
Biblioteca de Eventos. Esteja ciente do seguinte aviso, encontrado no Assistente de Nova Sessão, ao criar a sessão:O T-SQL a seguir criará a sessão de eventos estendidos necessária. Não execute isso em um SQL Server de produção, a menos que você queira reduzi-lo para um rastreamento.