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.
Şunlar için geçerlidir: SQL Server 2019 (15.x) ve sonraki sürümleri
Microsoft Fabric'te
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği SQL veritabanı
Hızlandırılmış veritabanı kurtarmanın (ADR) önemli bir öğesi olan kalıcı sürüm deposu (PVS) temizleme işlemini el ile başlatır. Bu temizleyici, PVS'deki kaydedilmemiş verileri durdurulan işlemlerden de kaldırır.
genellikle sys.sp_persistent_version_cleanupkullanarak PVS temizleme işlemini el ile başlatmak gerekmez. Ancak bazı senaryolarda, meşgul OLTP etkinliğinden sonra bilinen bir dinlenme/kurtarma döneminde PVS temizleme işlemini el ile başlatmak isteyebilirsiniz.
ADR hakkında daha fazla bilgi için bkz. hızlandırılmış veritabanı kurtarma
Transact-SQL söz dizimi kuralları
Sözdizimi
sp_persistent_version_cleanup
[ [ @dbname = ] N'dbname' ]
[ , [ @scanallpages = ] scanallpages ]
[ , [ @clean_option = ] clean_option ]
[ ; ]
Bağımsız değişken
[ @dbname = ] N'dbname'
Opsiyonel. Temizlenmek üzere veritabanının adı. Sağlanmazsa geçerli veritabanı bağlamını kullanır.
[ @scanallpages = ] tarama sayfaları
Opsiyonel.
@scanallpages, varsayılan olarak olan 0.
1olarak ayarlandığında, bu seçenek sürüme alınmamış olsa bile tüm veritabanı sayfalarının temizlenmesini zorlar.
[ @clean_option = ] clean_option
Opsiyonel. Olası seçenekler, satır dışı PVS sayfasının geri kazanılıp geri kazanılmayacağını belirler. 0 önerilir.
| Değer | Açıklama |
|---|---|
0 |
Varsayılan, seçenek belirtilmedi |
1 |
tek tek PVS sayfa içeriğini denetlemeden satır dışı sürüm deposu |
2 |
her PVS sayfası ziyaret edilen satır dışı sürüm deposu |
3 |
yalnızca satır içi sürüm deposu |
4 |
yalnızca iç kullanım |
Dönüş kodu değerleri
0 (başarı) veya 1 (başarısızlık).
Sonuç kümesi
Hiç kimse.
İzinler
Veritabanında ALTER izni gerektirir.
Açıklamalar
sys.sp_persistent_version_cleanup saklı yordamı zaman uyumludur, yani tüm sürüm bilgileri geçerli PVS'den temizlenene kadar tamamlanmaz.
SQL Server 2019'da (15.x), PVS temizleme işlemi aynı anda yalnızca bir veritabanı için yürütülür. Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği'nde ve SQL Server 2022 (16.x) ile başlayarak PVS temizleme işlemi aynı örnekteki birden çok veritabanına paralel olarak yürütülebilir.
PVS temizleme işlemi istenen veritabanında zaten çalışıyorsa, bu saklı yordam başka bir PVS temizleme işlemi başlatılmadan önce engellenir. ADR'nin etkinleştirildiği aynı veritabanı altyapısı örneğindeki herhangi bir veritabanında etkin, uzun süre çalışan işlemler de PVS temizlemesini engelleyebilir.
Aşağıdaki örnek sorguyla işlemini arayarak sürüm temizleme görevini izleyebilirsiniz:
SELECT *
FROM sys.dm_exec_requests
WHERE command LIKE '%PERSISTED_VERSION_CLEANER%';
Etkin bir işlem PVS temizleme işleminin başlatılmasını engelleyebilir. Bu durumda, sys.sp_persistent_version_cleanup saklı yordamı çalıştıran oturum PVS_CLEANUP_LOCK bekleme türüyle bekler. İşlemin tamamlanmasını bekleyebilir veya mümkünse etkin bir işlemle engelleyici oturumunu sonlandırmayı düşünebilirsiniz.
ADR devre dışı bırakılırsa, pvs'de kalan önceki sürümleri temizlemek için sys.sp_persistent_version_cleanup çalıştırın.
Örnekler
PVS temizleme işlemini iş yükleri arasında veya bakım pencereleri sırasında el ile etkinleştirmek için aşağıdaki örnek betiği kullanın:
EXECUTE sys.sp_persistent_version_cleanup [database_name];
Mesela:
EXECUTE sys.sp_persistent_version_cleanup [WideWorldImporters];
Veya geçerli veritabanı bağlamını varsaymak için:
USE [WideWorldImporters];
GO
EXECUTE sys.sp_persistent_version_cleanup;
İlgili içerik
- hızlandırılmış veritabanı kurtarma
- hızlandırılmış veritabanı kurtarma izleme ve sorunlarını giderme
- hızlandırılmış veritabanı kurtarma yönetme