Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Remove dados do data warehouse de gestão com base numa política de retenção. Este procedimento é executado diariamente pelo mdw_purge_data trabalho SQL Server Agent contra o armazém de dados de gestão associado à instância especificada. Pode usar este procedimento armazenado para realizar uma remoção a pedido de dados do armazém de dados de gestão.
Transact-SQL convenções de sintaxe
Syntax
core.sp_purge_data
[ [ @retention_days = ] retention_days ]
[ , [ @instance_name = ] 'instance_name' ]
[ , [ @collection_set_uid = ] 'collection_set_uid' ]
[ , [ @duration = ] duration ]
[ ; ]
Arguments
[ @retention_days = ] retention_days
O número de dias para reter dados nas tabelas do armazém de dados de gestão. Dados com carimbo temporal anterior a @retention_days são removidos.
@retention_days é smallint, com um padrão de NULL. Se especificado, o valor deve ser positivo. Quando NULL, o valor na coluna valid_through na core.snapshots vista determina as linhas elegíveis para remoção.
[ @instance_name = ] 'instance_name'
O nome da instância para o conjunto de coleções.
@instance_name é sysname, com um padrão de NULL.
instance_name deve ser o nome da instância totalmente qualificado, que consiste no nome do computador e no nome da instância na forma <computername>\<instancename>. Quando NULL, é utilizada a instância padrão no servidor local.
[ @collection_set_uid = ] 'collection_set_uid'
O GUID para o conjunto da coleção.
@collection_set_uid é um identificador único, com um padrão de NULL. Quando NULL, as linhas qualificatórias de todos os conjuntos de coleção são removidas. Para obter este valor, consulte a syscollector_collection_sets vista de catálogo.
[ @duration = ] duração
O número máximo de minutos que a operação de purga deve decorrer.
@duration é smallint, com um padrão de NULL. Se especificado, o valor deve ser zero ou um inteiro positivo. Quando NULL, a operação decorre até que todas as linhas qualificadas sejam removidas ou a operação seja interrompida manualmente.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Remarks
Este procedimento seleciona as linhas na core.snapshots vista que qualificam para remoção com base num período de retenção. Todas as linhas que se qualificam para remoção são eliminadas da core.snapshots_internal tabela. Eliminar as linhas anteriores desencadeia uma ação de eliminação em cascata em todas as tabelas do armazém de dados de gestão. Isto é feito usando a cláusula ON DELETE CASCADE, que é definida para todas as tabelas que armazenam os dados recolhidos.
Cada snapshot e os seus dados associados são eliminados dentro de uma transação explícita e depois confirmados. Portanto, se a operação de purga for interrompida manualmente, ou se o valor especificado for @duration ultrapassado, apenas os dados não comprometidos permanecem. Estes dados podem ser removidos na próxima vez que o trabalho for executado.
O procedimento deve ser executado no contexto da base de dados do armazém de dados de gestão.
Permissions
Requer a pertença ao papel fixo de base de dados mdw_admin (com permissão EXECUTAR).
Examples
A. Executa sp_purge_data sem parâmetros
O exemplo seguinte executa-se core.sp_purge_data sem especificar quaisquer parâmetros. Portanto, o valor padrão de NULL é usado para todos os parâmetros, com o comportamento associado.
USE <management_data_warehouse>;
EXECUTE core.sp_purge_data;
GO
B. Especificar valores de retenção e duração
O exemplo seguinte remove do armazém de dados de gestão dados com mais de 7 dias. Além disso, o @duration parâmetro é especificado para que a operação não decorra mais de 5 minutos.
USE <management_data_warehouse>;
EXECUTE core.sp_purge_data @retention_days = 7, @duration = 5;
GO
C. Especifique um nome de instância e um conjunto de coleções
O exemplo seguinte remove dados do armazém de dados de gestão para um dado conjunto de coleções na instância especificada do SQL Server. Como @retention_days não está especificado, o valor na valid_through coluna da core.snapshots vista é usado para determinar as linhas do conjunto de coleções que são elegíveis para remoção.
USE <management_data_warehouse>;
GO
-- Get the collection set unique identifier for the Disk Usage system collection set.
DECLARE @disk_usage_collection_set_uid uniqueidentifier = (SELECT collection_set_uid
FROM msdb.dbo.syscollector_collection_sets WHERE name = N'Disk Usage');
EXECUTE core.sp_purge_data @instance_name = @@SERVERNAME, @collection_set_uid = @disk_usage_collection_set_uid;
GO