Aracılığıyla paylaş


sys.dm_db_xtp_checkpoint_files (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Dosya boyutu, fiziksel konum ve işlem kimliği dahil olmak üzere In-Memory OLTP kontrol noktası dosyaları hakkında bilgileri gösterir.

Uyarı

Henüz kapanmamış olan mevcut kontrol noktası için, yeni dosyalar için durum sütunu sys.dm_db_xtp_checkpoint_files HAZIRLANIYOR olacak. Bir kontrol noktası, son kontrol noktasından beri yeterli işlem kaydı büyümesi olduğunda veya komutu CHECKPOINT verdiğinizde otomatik olarak kapanır. Daha fazla bilgi için bkz . CHECKPOINT (Transact-SQL).

Bellek optimize edilmiş bir dosya grubu, dahili olarak eklenen ve silinmiş satırları bellek içindeki tablolar için depolamak amacıyla yalnızca ekleyici dosyaları kullanır. İki tür dosya vardır. Bir veri dosyası eklenen satırlar içerirken, delta dosyası silinmiş satırlara referanslar içerir.

SQL Server 2014 (12.x), daha yeni sürümlerden önemli ölçüde farklıdır ve SQL Server 2014'te tartışılmaktadır.

Daha fazla bilgi için bkz. Memory-Optimized Nesneler için Depolama Oluşturma ve Yönetim.

SQL Server 2016 (13.x) ve sonrası

Aşağıdaki tablo, SQL Server 2016 (13.x) ile başlayan , için sys.dm_db_xtp_checkpoint_filessütunları tanımlar.

Sütun adı Türü Description
container_id int Veri veya delta dosyasının parçası olduğu konteynerin kimliği (FILESTREAM tipiyle temsil sys.database_filesedilen) sys.database_files (Transact-SQLile birleşirfile_id.
container_guid uniqueidentifier Konteynerin GUID'si, kök, veri veya delta dosyasının parçası olduğu GUID. Masada birleşir file_guidsys.database_files .
checkpoint_file_id uniqueidentifier Kontrol noktası dosyasının GUID'i.
relative_file_path nvarchar(256) Dosyanın eşlendiği konteynere göre yolu.
file_type smallint -1 ÜCRETSİZ

DATA dosyası için 0.

1 DELTA dosyası için.

ROOT dosyası için 2

3 BÜYÜK VERİ dosyası için
file_type_desc nvarchar(60) ÜCRETSİZ - ÜCRETSİ olarak tutulan tüm dosyalar tahsis edilebilir. Ücretsiz dosyalar, sistemin beklenen ihtiyaçlarına göre boyut olarak değişebilir. Maksimum boyut 1 GB'dır.

VERİ - Veri dosyaları, bellek optimize edilmiş tablolara eklenmiş satırlar içerir.

DELTA - Delta dosyaları, veri dosyalarındaki silinmiş satırlara referanslar içerir.

ROOT - Kök dosyalar, bellek için optimize edilmiş ve yerel derlenmiş nesneler için sistem meta verileri içerir.

BÜYÜK VERİ - Büyük veri dosyaları, (n)varchar(max) ve varbinary(max) sütunlarına eklenen değerleri ile bellek optimize edilmiş tablolardaki columnstore indekslerinin parçası olan sütun segmentlerini içerir.
internal_storage_slot int Dosyanın dahili depolama dizisindeki indeks. NULL ROOT için veya başka 1bir durum için .
checkpoint_pair_file_id uniqueidentifier Karşılık gelen VERI veya DELTA dosyası. NULL ROOT için.
file_size_in_bytes bigint Diskteki dosyanın boyutu.
file_size_used_in_bytes bigint Hâlâ doldurulmakta olan kontrol noktası dosya çiftleri için, bu sütun bir sonraki kontrol noktasından sonra güncellenecektir.
logical_row_count bigint Veri için, eklenen satır sayısı.

Delta için, drop tablosu hesaba alındıktan sonra silinen satır sayısı.

Root için NULL.
state smallint 0 - ÖNCEDEN OLUŞTURULMUŞ

1 - YAPIM ALIYOR

2 - AKTIF

3 - HEDEFI BIRLEŞTIRME

8 - KÜTÜK KESINTISINI BEKLEMEK
durum_açıklaması nvarchar(60) ÖN OLUŞTURULMUŞ - İşlemler yürütülürken yeni dosyaların tahsis edilmesi için beklemeleri en aza indirmek veya ortadan kaldırmak amacıyla bir dizi kontrol noktası dosyası önceden tahsis edilir. Bu dosyaların boyutları değişken olabilir ve iş yükünün tahmini ihtiyaçlarına göre oluşturulur. Veri içermemektedirler. Bu, MEMORY_OPTIMIZED_DATA dosya grubuna sahip veritabanlarında bir depolama yüküdür.

YAPIM AŞAMASINDA - Bu kontrol noktası dosyaları inşaat aşamasındadır, yani veritabanı tarafından oluşturulan günlük kayıtlarına göre dolduruluyorlar ve henüz bir kontrol noktasının parçası değiller.

AKTIF - Bunlar, önceki kapalı kontrol noktalarından eklenen/silinmiş satırları içerir. Veritabanı yeniden başlatmasında işlem günlüğünün aktif kısmı uygulanmadan önce belleğe okunan tabloların içeriğini içerirler. Bu kontrol noktası dosyalarının boyutunun, birleştirme işlemsel iş yüküne ayak uydurduğu varsayarsak, bellek içi boyutunun bellek içi boyutunun yaklaşık 2 katı olmasını bekliyoruz.

MERGE TARGET - Birleştirme işlemlerinin hedefi - bu kontrol noktası dosyaları, birleştirme politikası tarafından tanımlanan kaynak dosyalardan toplanan veri satırlarını saklar. Birleştirme kurulduktan sonra, MERGE TARGET AKTIF duruma geçer.

LOG TRUNK bekleniyor - Merge kurulduktan ve MERGE TARGET CFP dayanıklı kontrol noktasının bir parçası olduğunda, merge kaynak kontrol noktası dosyaları bu duruma geçer. Bu durumda dosyalar, veritabanının işletim doğruluğu için bellek optimize edilmiş tabloya sahiptir. Örneğin, dayanıklı bir kontrol noktasından sonra zamanda geriye gitmek için toparlanmak.
lower_bound_tsn bigint Dosyadaki işlemin alt sınırı; NULL eğer (1, 3)'te belirtilmedikse.
upper_bound_tsn bigint Dosyadaki işlemin üst sınırı; NULL eğer (1, 3)'te belirtilmedikse.
begin_checkpoint_id bigint Başlangıç kontrol noktasının kimliği.
end_checkpoint_id bigint Son kontrol noktasının kimliği.
last_updated_checkpoint_id bigint Bu dosyayı güncelleyen son kontrol noktasının kimliği.
encryption_status smallint 0, 1, 2
encryption_status_desc nvarchar(60) 0 => Şifrelenmemiş

1 => 1 ANAHTAR ILE ŞIFRELENMIŞTIR

2 => 2 ANAHTAR ILE ŞIFRELENMIŞ. Sadece aktif dosyalar için geçerlidir.

SQL Server 2014 (12.x)

Aşağıdaki tablo, SQL Server 2014 (12.x) için , sys.dm_db_xtp_checkpoint_filesiçin sütunları tanımlar.

Sütun adı Türü Description
container_id int Veri veya delta dosyasının parçası olduğu konteynerin kimliği (FILESTREAM tipiyle temsil sys.database_filesedilen) sys.database_files (Transact-SQLile birleşirfile_id.
container_guid uniqueidentifier Veri veya delta dosyasının parçası olduğu konteynerin GUID'si.
checkpoint_file_id GUID Veri veya delta dosyasının kimliği.
relative_file_path nvarchar(256) Veriye veya delta dosyasına giden yol, konteynerin konumuna göre.
file_type tinyint Veri dosyası için 0.

1 delta dosyası için.

NULL eğer durum sütunu 7 olarak ayarlanmışsa.
file_type_desc nvarchar(60) Dosya türü: DATA_FILE, DELTA_FILE veya NULL durum sütunu 7 olarak ayarlanmışsa.
internal_storage_slot int Dosyanın dahili depolama dizisindeki indeks. NULL eğer durum sütunu 2 veya 3 değilse.
checkpoint_pair_file_id uniqueidentifier İlgili veri veya delta dosyası.
file_size_in_bytes bigint Kullanılan dosyanın boyutu. NULL eğer durum sütunu 5, 6 veya 7 olarak ayarlanmışsa.
file_size_used_in_bytes bigint Kullanılan dosyanın boyutu. NULL eğer durum sütunu 5, 6 veya 7 olarak ayarlanmışsa.

Hâlâ doldurulmakta olan kontrol noktası dosya çiftleri için, bu sütun bir sonraki kontrol noktasından sonra güncellenecektir.
inserted_row_count bigint Veri dosyasındaki satır sayısı.
deleted_row_count bigint Delta dosyasında silinmiş satır sayısı.
drop_table_deleted_row_count bigint Bir bırakma tablosundan etkilenen veri dosyalarındaki satır sayısı. Durum sütunu 1'e eşit olduğunda veri dosyaları için geçerlidir.

Düşürülen tablo(lar)dan silinmiş satır sayısını gösteriyor. drop_table_deleted_row_count istatistikler, düşürülen tablo(lar)dan satırların hafıza çöpü toplama işlemi tamamlandıktan ve bir kontrol noktası alındıktan sonra derlenir. SQL Server'ı bu sütunda bırakma tabloları istatistikleri yansıtılmadan önce yeniden başlatırsanız, istatistikler kurtarma sürecinin bir parçası olarak güncellenir. Kurtarma süreci, düşürülen tablolardan satır yüklemez. Düşürülen tablolar için istatistikler yükleme aşamasında derlenir ve kurtarma tamamlandığında bu sütunda raporlanır.
state int 0 - ÖNCEDEN OLUŞTURULMUŞ

1 - YAPIM ALIYOR

2 - AKTIF

3 - HEDEFI BIRLEŞTIRME

4 - BIRLEŞEN KAYNAK

5 - YEDEK/HA IÇIN GEREKLI

6 - MEZAR TAŞINA GEÇIŞ

7 - MEZAR TAŞI
durum_açıklaması nvarchar(60) ÖN OLUŞTURULMUŞ - Küçük bir veri ve delta dosya çiftleri, aynı zamanda kontrol noktası dosya çiftleri (CFP) olarak da bilinir, işlemler yürütülürken yeni dosyaların tahsis edilmesi için beklemeleri en aza indirmek veya ortadan kaldırmak için önceden tahsis edilmiş tutulur. 128 MB veri dosyası boyutu ve 8 MB delta dosya boyutuyla oluşturulmuştur, ancak veri içermezler. CFP sayısı, mantıksal işlemci veya zamanlayıcı sayısı (çekirdek başına bir, maksimum yok) olarak hesaplanır ve minimum 8 olur. Bu, bellek optimize edilmiş tablolara sahip veritabanlarında sabit bir depolama yüküdür.

YAPILMA AŞAMASINDA - Son kontrol noktasından itibaren yeni eklenen ve muhtemelen silinmiş veri satırlarını depolayan CFP kümesi.

AKTIF - Bunlar, önceki kapalı kontrol noktalarından eklenen ve silinmiş satırları içerir. Bu CFP'ler, veritabanı yeniden başlatma sırasında işlem günlüğünün aktif kısmı uygulanmadan önce gereken tüm eklenen ve silinmiş satırları içerir. Bu CFP'lerin boyutu, birleştirme işlemsel iş yüküyle güncel olduğu varsayıldığı sürece, bellek içi boyutlarının yaklaşık iki katı olur.

MERGE TARGET - CFP, birleştirme politikası tarafından tanımlanan CFP(ler)'den gelen konsolide veri satırlarını saklar. Birleştirme kurulduktan sonra, MERGE TARGET AKTIF duruma geçer.

BIRLEŞEN KAYNAK - Birleştirme işlemi kurulduktan sonra, kaynak CFP'ler BIRLEŞEN KAYNAK olarak işaretlenir. Not: Birleştirme politikası değerlendiricisi birden fazla birleşmeyi tespit edebilir ancak bir CFP yalnızca bir birleşme operasyonuna katılabilir.

YEDEK/HA İÇİN GEREKLİ - Birleştirme kurulduktan ve MERGE TARGET CFP dayanıklı kontrol noktasının bir parçası olduğunda, birleştirme kaynak CFP'leri bu duruma geçer. Bu durumda CFP'ler, veritabanının işletim doğruluğu için bellek optimize edilmiş tablo ile gereklidir. Örneğin, dayanıklı bir kontrol noktasından sonra zamanda geriye gitmek için toparlanmak. Log kesme noktası işlem aralığının dışına çıktığında bir CFP çöp toplama için işaretlenebilir.

TOMBSTONE'A GEÇIŞ - Bu CFP'ler In-Memory OLTP motoru tarafından ihtiyaç duymuyor ve çöp toplanabilirler. Bu durum, bu CFP'lerin arka plan ipliğinin onları bir sonraki duruma, yani TOMBSTONE'a geçirmek için beklediğini gösterir.

TOMBSTONE - Bu CFP'ler, dosya akışı çöp toplayıcısı tarafından çöp toplanmayı bekliyor. (sp_filestream_force_garbage_collection (Transact-SQL))
lower_bound_tsn bigint Dosyadaki işlemlerin alt sınırı. NULL durum sütunu 2, 3 veya 4 dışındaysa.
upper_bound_tsn bigint Dosyadaki işlemlerin üst sınırı. NULL durum sütunu 2, 3 veya 4 dışındaysa.
last_backup_page_count int Son yedeklemede belirlenen mantıklı sayfa sayısı. Durum sütunu 2, 3, 4 veya 5 olarak ayarlandığında geçerlidir. NULL sayfa sayısı bilinmiyorsa.
delta_watermark_tsn int Bu delta dosyasına yazan son kontrol noktasının işlemi. Bu, delta dosyasının filigranıdır.
last_checkpoint_recovery_lsn nvarchar(23) Dosyaya hâlâ ihtiyaç duyan son kontrol noktasının kurtarma logu dizisi numarası.
tombstone_operation_lsn nvarchar(23) tombstone_operation_lsn log kesme log dizisi numarasının gerisine düştüğünde dosya silinecektir.
logical_deletion_log_block_id bigint Sadece 5. eyalet için geçerlidir.

Permissions

Veritabanı üzerinde VIEW DATABASE STATE izni gereklidir.

SQL Server 2022 ve üzeri için izinler

Veritabanında veritabanı performans durumunu görüntüleme izni gerektirir.

Kullanım Örnekleri

OLTP'In-Memory nin kullandığı toplam depolama miktarını aşağıdaki şekilde tahmin edebilirsiniz:

-- total storage used by In-Memory OLTP  
SELECT SUM (file_size_in_bytes)/(1024*1024) as file_size_in_MB  
FROM sys.dm_db_xtp_checkpoint_files;

Durum ve dosya türüne göre depolama kullanımının bir dağılımını görmek için aşağıdaki sorguyu çalıştırın:

SELECT state_desc  
 , file_type_desc  
 , COUNT(*) AS [count]  
 , SUM(file_size_in_bytes) / 1024 / 1024 AS [on-disk size MB]   
FROM sys.dm_db_xtp_checkpoint_files  
GROUP BY state, state_desc, file_type, file_type_desc  
ORDER BY state, file_type;