Udostępnij przez


core.sp_purge_data (Transact-SQL)

Usuwa dane z magazyn danych zarządzania na podstawie zasady przechowywania.Ta procedura jest wykonywana codziennie przez mdw_purge_data SQL Server Agent zadanie względem skojarzonego z wystąpienie określonego magazyn danych zarządzania. Ta procedura przechowywana umożliwia wykonanie usunięcia na żądanie danych z magazyn danych zarządzania.

Topic link iconKonwencje składni języka Transact-SQL

core.sp_purge_data
    [ [ @retention_days = ] retention_days ]
        [ , [ @instance_name = ] 'instance_name' ]
        [ , [ @collection_set_uid = ] 'collection_set_uid' ]
        [ , [ @duration = ] duration ]

Argumenty

  • [@ retention_days =] retention_days
    Liczba dni, aby zachować dane w magazyn danych zarządzania tabel.Data with a time stamp older than retention_days is removed.retention_days is smallint, with a default of NULL.Jeśli określony, wartość musi być dodatnia.Jeśli wartością tą jest NULL, wartość kolumna valid_through w widoku core.snapshots określa wiersze, które kwalifikują się do usunięcia.

  • [@ instance_name =] ' instance_name"
    The name of the instance for the collection set.instance_name is sysname, with a default of NULL.

    instance_name musi być nazwą wystąpienie w pełni kwalifikowana, która składa się z nazwy komputera i nazwy obiektu w formularzu Nazwa komputera\nazwa_wystąpienia.Jeśli wartością tą jest NULL, używana jest domyślnego wystąpienie na serwerze lokalnym.

  • [@ collection_set_uid =] ' collection_set_uid"
    The GUID for the collection set.collection_set_uid is uniqueidentifier, with a default of NULL.Jeśli wartością tą jest NULL, uprawniający wiersze z wszystkich zestawów kolekcja są usuwane.Aby uzyskać tę wartość, kwerendy widoku syscollector_collection_sets wykazu.

  • [@ czas trwania =] duration
    The maximum number of minutes the purge operation should run.duration is smallint, with a default of NULL.Jeśli określony, wartość musi być zero lub dodatnią liczbą całkowitą.Jeśli wartością tą jest NULL, operacja jest uruchamiane aż do chwili, kiedy zostaną usunięte wszystkie wiersze kwalifikowaną lub ręcznego zatrzymania operacji.

Wartości kodów powrotnych

0 (sukces) lub 1 (brak)

Remarks

Ta procedura powoduje zaznaczenie wierszy w widoku core.snapshots, które kwalifikują się do usuwania oparte na okres zachowywania.Wszystkie wiersze, które kwalifikują się do usunięcia są usuwane z tabela core.snapshots_internal.Usuwanie z poprzednimi wierszami wyzwala kaskadowych akcja usuwania wszystkich danych zarządzania magazynem w tabelach.Można to zrobić za pomocą klauzula ON DELETE CASCADE, który jest zdefiniowany dla wszystkich tabel, które przechowują dane zebrane.

Migawkę każdej i dane skojarzone są usuwane z transakcja jawna i następnie zatwierdzone.Dlatego operacja czyszczenia ręcznego zatrzymania lub wartość określona dla @ czas trwania został przekroczony, pozostaje nieprzydzielonych danych.Dane te mogą zostać usunięte podczas następnego uruchamiania zadanie.

Procedura muszą być wykonane w odniesieniu do bazy danych magazyn danych zarządzania.

Uprawnienia

Członkostwo w grupie wymaga mdw_admin (z uprawnienie wykonać) stała rola bazy danych.

Przykłady

A.Uruchamianie sp_purge_data bez parametrów

W poniższym przykładzie wykonywany core.sp_purge_data bez określania żadnych parametrów.W związku z tym domyślna wartość NULL jest używany dla wszystkich parametrów, z zachowaniem skojarzone.

USE <management_data_warehouse>;
EXECUTE core.sp_purge_data;
GO

B.Określanie wartości przechowywania i czas trwania

W poniższym przykładzie usuwa dane z magazyn danych zarządzania, która jest starsza niż 7 dni.Ponadto parametr @ czas trwania jest określony, tak, aby operacja zostanie uruchomiona nie więcej niż 5 minut.

USE <management_data_warehouse>;
EXECUTE core.sp_purge_data @retention_days = 7, @duration = 5;
GO

C.Określanie nazwy obiektu i zestaw kolekcja

W następującym przykładzie usunięto dane z magazyn danych zarządzania dla danego zestaw kolekcja dla określonego wystąpienia SQL Server. Ponieważ @ retention_days nie jest określony, wartość kolumna valid_through w widoku core.snapshots służy do określenia wierszy dla zestaw kolekcja, które kwalifikują się do usunięcia.

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