Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yönetim veri deposundan bir saklama politikası temelinde verileri kaldırır. Bu prosedür, SQL Server Agent işi tarafından belirlenen instance'a bağlı yönetim veri deposuna karşı günlük mdw_purge_data olarak yürütülür. Bu kayıtlı prosedürü kullanarak yönetim veri deposundan talep üzerine veri kaldırabilirsiniz.
Transact-SQL söz dizimi kuralları
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
Yönetim veri deposu tablolarında verilerin tutulması için gün sayısı.
@retention_days yaşından eski zaman damgası olan veriler kaldırılır.
@retention_daysküçüktür ve varsayılan olarak .NULL Belirtilmişse, değer pozitif olmalıdır. Ne NULLolduğunda, görünümdeki core.snapshots valid_through sütunundaki değer, kaldırılmaya uygun satırları belirler.
[ @instance_name = ] 'instance_name'
Koleksiyon seti için örnek adı.
@instance_namesysname'dir ve varsayılan olarak .NULL
instance_name , bilgisayar adı ve örnek adından oluşan <computername>\<instancename>tam nitelikli örnek adı olmalıdır. Ne olduğunda NULL, yerel sunucudaki varsayılan örnek kullanılır.
[ @collection_set_uid = ] 'collection_set_uid'
Koleksiyon seti için GUID.
@collection_set_uiduniqueidentifier'dır ve varsayılan olarak ' NULLdir. Ne zaman NULL, tüm koleksiyon setlerinden nitelikli satırlar kaldırılır. Bu değeri elde etmek için katalog görünümünü syscollector_collection_sets sorgulayın.
[ @duration = ] süre
Temizleme işleminin maksimum dakika sayısı.
@durationküçük ve varsayılan olarak .NULL Belirtilmişse, değer sıfır veya pozitif tam sayı olmalıdır. Ne zaman NULL, işlem tüm nitelikli satırlar kaldırılana veya işlem manuel olarak durdurulana kadar devam eder.
Dönüş kodu değerleri
0 (başarı) veya 1 (başarısızlık).
Remarks
Bu prosedür, görüntülemede core.snapshots kaldırma için uygun olan satırları saklama süresine göre seçer. Kaldırılmaya uygun tüm satırlar tablodan core.snapshots_internal silinir. Önceki satırların silinmesi, tüm yönetim veri deposu tablolarında zincirli silme eylemini tetikler. Bu, toplanan verileri depolayan tüm tablolar için tanımlanan ON DELETE CASCADE maddesi kullanılarak yapılır.
Her anlık görüntü ve ilgili veriler açık bir işlem içinde silinir ve ardından bağlanır. Bu nedenle, temizleme işlemi manuel olarak durdurulursa veya belirtilen @duration değer aşılırsa, yalnızca taahhüt edilmemiş veri kalır. Bu veriler, iş bir sonraki çalıştırıldığında kaldırılabilir.
Prosedür, yönetim veri deposu veritabanı bağlamında yürütülmelidir.
Permissions
mdw_admin (EXECUTE izniyle) sabit veritabanı rolünde üyelik gerektirir.
Examples
A. Parametresiz sp_purge_data çalıştır
Aşağıdaki örnek, herhangi bir parametre belirtilmeden çalıştırılır core.sp_purge_data . Bu nedenle, tüm parametreler için varsayılan değer NULL ve ilgili davranış kullanılır.
USE <management_data_warehouse>;
EXECUTE core.sp_purge_data;
GO
B. Tutma ve süre değerlerini belirtin
Aşağıdaki örnek, 7 günden eski olan yönetim veri deposundan verileri kaldırır. Ayrıca, @duration parametre işlemin 5 dakikadan fazla çalışmaması için belirlenmiştir.
USE <management_data_warehouse>;
EXECUTE core.sp_purge_data @retention_days = 7, @duration = 5;
GO
C. Bir örnek adı ve koleksiyon kümesi belirtin
Aşağıdaki örnek, belirli bir SQL Server örneğinde belirli bir koleksiyon seti için yönetim veri deposundan verileri kaldırır.
@retention_days belirtilmediği için, görünümdeki valid_through sütundaki core.snapshots değer, koleksiyon kümesinin kaldırılmaya uygun satırlarını belirlemek için kullanılır.
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