sys.dm_db_xtp_checkpoint_files (T-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Menampilkan informasi tentang file titik pemeriksaan OLTP Dalam Memori, termasuk ukuran file, lokasi fisik, dan ID transaksi.
Catatan
Untuk titik pemeriksaan saat ini yang belum ditutup, kolom sys.dm_db_xtp_checkpoint_files
status akan BERADA DI BAWAH KONSTRUKSI untuk file baru. Titik pemeriksaan ditutup secara otomatis ketika ada pertumbuhan log transaksi yang memadai sejak titik pemeriksaan terakhir, atau jika Anda mengeluarkan CHECKPOINT
perintah. Untuk informasi selengkapnya, lihat CHECKPOINT (Transact-SQL).
Grup file yang dioptimalkan memori secara internal menggunakan file khusus tambahan untuk menyimpan baris yang disisipkan dan dihapus untuk tabel dalam memori. Ada dua jenis file. File data berisi baris yang disisipkan sementara file delta berisi referensi ke baris yang dihapus.
SQL Server 2014 (12.x) secara substansial berbeda dari versi yang lebih baru dan dibahas di SQL Server 2014.
Untuk informasi selengkapnya, lihat Membuat dan Mengelola Penyimpanan untuk Objek yang Dioptimalkan Memori.
SQL Server 2016 (13.x) dan yang lebih baru
Tabel berikut ini menjelaskan kolom untuk sys.dm_db_xtp_checkpoint_files
, dimulai dengan SQL Server 2016 (13.x).
Nama kolom | Tipe | Deskripsi |
---|---|---|
container_id | int | ID kontainer (direpresentasikan sebagai file dengan jenis FILESTREAM di sys.database_files ) yang merupakan bagian dari file data atau delta. Bergabung dengan file_id dalam sys.database_files (Transact-SQL). |
container_guid | pengidentifikasi unik | GUID Kontainer, yang merupakan bagian dari file akar, data, atau delta. Bergabung dengan file_guid dalam sys.database_files tabel. |
checkpoint_file_id | pengidentifikasi unik | GUID file titik pemeriksaan. |
relative_file_path | nvarchar(256) | Jalur file relatif terhadap kontainer yang dipetakan. |
file_type | smallint | -1 gratis 0 untuk file DATA. 1 untuk file DELTA. 2 untuk file ROOT 3 untuk file DATA BESAR |
file_type_desc | nvarchar(60) | GRATIS- Semua file yang dipertahankan sebagai GRATIS tersedia untuk alokasi. File gratis dapat bervariasi dalam ukuran tergantung pada kebutuhan yang diantisipasi oleh sistem. Ukuran maksimum adalah 1 GB. DATA - File data berisi baris yang telah disisipkan ke dalam tabel yang dioptimalkan memori. DELTA - File delta berisi referensi ke baris dalam file data yang telah dihapus. ROOT - File akar berisi metadata sistem untuk objek yang dioptimalkan memori dan dikompilasi secara asli. DATA BESAR - File data besar berisi nilai yang dimasukkan dalam kolom (n)varchar(maks) dan varbinary(maks), serta segmen kolom yang merupakan bagian dari indeks penyimpan kolom pada tabel yang dioptimalkan memori. |
internal_storage_slot | int | Indeks file dalam array penyimpanan internal. NULL untuk ROOT atau untuk status selain 1 . |
checkpoint_pair_file_id | pengidentifikasi unik | File DATA atau DELTA yang sesuai. NULL untuk ROOT. |
file_size_in_bytes | bigint | Ukuran file pada disk. |
file_size_used_in_bytes | bigint | Untuk pasangan file titik pemeriksaan yang masih diisi, kolom ini akan diperbarui setelah titik pemeriksaan berikutnya. |
logical_row_count | bigint | Untuk Data, jumlah baris yang disisipkan. Untuk Delta, jumlah baris yang dihapus setelah memperhitungkan tabel drop. Untuk Root, NULL. |
state | smallint | 0 - DIBUAT SEBELUMNYA 1 - SEDANG DIBANGUN 2 - AKTIF 3 - GABUNGKAN TARGET 8 - MENUNGGU PEMOTONGAN LOG |
state_desc | nvarchar(60) | DIBUAT SEBELUMNYA - Sejumlah file titik pemeriksaan dialokasikan sebelumnya untuk meminimalkan atau menghilangkan penantian untuk mengalokasikan file baru saat transaksi sedang dijalankan. File-file ini dapat bervariasi dalam ukuran, dan dibuat tergantung pada perkiraan kebutuhan beban kerja. Mereka tidak berisi data. Ini adalah overhead penyimpanan dalam database dengan grup file MEMORY_OPTIMIZED_DATA. UNDER CONSTRUCTION - File titik pemeriksaan ini sedang dibangun, yang berarti file sedang diisi berdasarkan catatan log yang dihasilkan oleh database, dan belum menjadi bagian dari titik pemeriksaan. ACTIVE - Ini berisi baris yang disisipkan/dihapus dari titik pemeriksaan tertutup sebelumnya. Mereka berisi konten tabel yang dibaca area ke dalam memori sebelum menerapkan bagian aktif log transaksi pada mulai ulang database. Kami mengharapkan ukuran file titik pemeriksaan ini sekitar 2x dari ukuran dalam memori tabel yang dioptimalkan memori, dengan asumsi operasi penggabungan mengikuti beban kerja transaksi. TARGET MERGE - Target operasi penggabungan - file titik pemeriksaan ini menyimpan baris data terkonsolidasi dari file sumber yang diidentifikasi oleh kebijakan penggabungan. Setelah penggabungan diinstal, TARGET MERGE beralih ke status AKTIF. MENUNGGU PEMOTONGAN LOG - Setelah penggabungan diinstal dan MERGE TARGET CFP adalah bagian dari titik pemeriksaan tahan lama, file titik pemeriksaan sumber gabungan beralih ke status ini. File dalam status ini diperlukan untuk kebenaran operasional database dengan tabel yang dioptimalkan memori. Misalnya, untuk memulihkan dari titik pemeriksaan yang tahan lama untuk kembali ke masa lalu. |
lower_bound_tsn | bigint | Batas bawah transaksi dalam file; NULL jika status tidak dalam (1, 3). |
upper_bound_tsn | bigint | Batas atas transaksi dalam file; NULL jika status tidak dalam (1, 3). |
begin_checkpoint_id | bigint | ID titik pemeriksaan mulai. |
end_checkpoint_id | bigint | ID titik pemeriksaan akhir. |
last_updated_checkpoint_id | bigint | ID titik pemeriksaan terakhir yang memperbarui file ini. |
encryption_status | smallint | 0, 1, 2 |
encryption_status_desc | nvarchar(60) | 0 => TIDAK TERENKRIPSI 1 => DIENKRIPSI DENGAN KUNCI 1 2 => DIENKRIPSI DENGAN KUNCI 2. Hanya berlaku untuk file aktif. |
SQL Server 2014 (12.x)
Tabel berikut ini menjelaskan kolom untuk , untuk sys.dm_db_xtp_checkpoint_files
SQL Server 2014 (12.x).
Nama kolom | Tipe | Deskripsi |
---|---|---|
container_id | int | ID kontainer (direpresentasikan sebagai file dengan jenis FILESTREAM di sys.database_files ) yang merupakan bagian dari file data atau delta. Bergabung dengan file_id dalam sys.database_files (Transact-SQL). |
container_guid | pengidentifikasi unik | GUID kontainer yang merupakan bagian dari file data atau delta. |
checkpoint_file_id | GUID | ID data atau file delta. |
relative_file_path | nvarchar(256) | Jalur ke data atau file delta, relatif terhadap lokasi kontainer. |
file_type | kecil | 0 untuk file data. 1 untuk file delta. NULL jika kolom status diatur ke 7. |
file_type_desc | nvarchar(60) | Jenis file: DATA_FILE, DELTA_FILE, atau NULL jika kolom status diatur ke 7. |
internal_storage_slot | int | Indeks file dalam array penyimpanan internal. NULL jika kolom status bukan 2 atau 3. |
checkpoint_pair_file_id | pengidentifikasi unik | Data atau file delta yang sesuai. |
file_size_in_bytes | bigint | Ukuran file yang digunakan. NULL jika kolom status diatur ke 5, 6, atau 7. |
file_size_used_in_bytes | bigint | Ukuran file yang digunakan digunakan. NULL jika kolom status diatur ke 5, 6, atau 7.Untuk pasangan file titik pemeriksaan yang masih diisi, kolom ini akan diperbarui setelah titik pemeriksaan berikutnya. |
inserted_row_count | bigint | Jumlah baris dalam file data. |
deleted_row_count | bigint | Jumlah baris yang dihapus dalam file delta. |
drop_table_deleted_row_count | bigint | Jumlah baris dalam file data yang dipengaruhi oleh tabel drop. Berlaku untuk file data ketika kolom status sama dengan 1. Memperlihatkan jumlah baris yang dihapus dari tabel yang dihilangkan. Statistik drop_table_deleted_row_count dikompilasi setelah pengumpulan sampah memori baris dari tabel yang dihilangkan selesai dan titik pemeriksaan diambil. Jika Anda memulai ulang SQL Server sebelum statistik tabel drop tercermin dalam kolom ini, statistik akan diperbarui sebagai bagian dari pemulihan. Proses pemulihan tidak memuat baris dari tabel yang dihilangkan. Statistik untuk tabel yang dihilangkan dikompilasi selama fase beban dan dilaporkan dalam kolom ini ketika pemulihan selesai. |
state | int | 0 - DIBUAT SEBELUMNYA 1 - SEDANG DIBANGUN 2 - AKTIF 3 - GABUNGKAN TARGET 4 - SUMBER GABUNGAN 5 - DIPERLUKAN UNTUK PENCADANGAN/HA 6 - DALAM TRANSISI KE BATU NISAN 7 - BATU NISAN |
state_desc | nvarchar(60) | DIBUAT SEBELUMNYA - Sekumpulan kecil data dan pasangan file delta, juga dikenal sebagai pasangan file titik pemeriksaan (CFP) tetap dialokasikan sebelumnya untuk meminimalkan atau menghilangkan penantian untuk mengalokasikan file baru karena transaksi sedang dijalankan. File tersebut dibuat dengan ukuran file data 128 MB dan ukuran file delta 8 MB, tetapi tidak berisi data. Jumlah CFP dihitung sebagai jumlah prosesor logis atau penjadwal (satu per inti, tidak maksimum) dengan minimal 8. Ini adalah overhead penyimpanan tetap dalam database dengan tabel yang dioptimalkan memori. UNDER CONSTRUCTION - Kumpulan CFP yang menyimpan baris data yang baru disisipkan dan mungkin dihapus sejak titik pemeriksaan terakhir. ACTIVE - Ini berisi baris yang disisipkan dan dihapus dari titik pemeriksaan tertutup sebelumnya. CFP ini berisi semua baris yang disisipkan dan dihapus yang diperlukan sebelum menerapkan bagian aktif log transaksi pada mulai ulang database. Ukuran CFP ini akan menjadi sekitar dua kali ukuran dalam memori tabel yang dioptimalkan memori, dengan asumsi operasi penggabungan saat ini dengan beban kerja transaksional. MERGE TARGET - CFP menyimpan baris data terkonsolidasi dari CFP yang diidentifikasi oleh kebijakan penggabungan. Setelah penggabungan diinstal, TARGET MERGE beralih ke status AKTIF. SUMBER MERGED - Setelah operasi penggabungan diinstal, CFP sumber ditandai sebagai SUMBER MERGED. Perhatikan, evaluator kebijakan penggabungan mungkin mengidentifikasi beberapa penggabungan tetapi CFP hanya dapat berpartisipasi dalam satu operasi penggabungan. DIPERLUKAN UNTUK BACKUP/HA - Setelah penggabungan diinstal dan MERGE TARGET CFP adalah bagian dari titik pemeriksaan tahan lama, CFP sumber gabungan beralih ke status ini. CFP dalam status ini diperlukan untuk kebenaran operasional database dengan tabel yang dioptimalkan memori. Misalnya, untuk memulihkan dari titik pemeriksaan yang tahan lama untuk kembali ke masa lalu. CFP dapat ditandai untuk pengumpulan sampah setelah titik pemotongan log bergerak di luar rentang transaksinya. DALAM TRANSISI KE TOMBSTONE - CFP ini tidak diperlukan oleh mesin OLTP Dalam Memori dan dapat menjadi sampah yang dikumpulkan. Status ini menunjukkan bahwa CFP ini menunggu utas latar belakang untuk mentransisikannya ke status berikutnya, yaitu TOMBSTONE. TOMBSTONE - CFP ini menunggu untuk menjadi sampah yang dikumpulkan oleh pengumpul sampah aliran file. (sp_filestream_force_garbage_collection (T-SQL)) |
lower_bound_tsn | bigint | Batas bawah transaksi yang terkandung dalam file. NULL jika kolom status selain 2, 3, atau 4. |
upper_bound_tsn | bigint | Batas atas transaksi yang terkandung dalam file. NULL jika kolom status selain 2, 3, atau 4. |
last_backup_page_count | int | Jumlah halaman logis yang ditentukan pada pencadangan terakhir. Berlaku saat kolom status diatur ke 2, 3, 4, atau 5. NULL jika jumlah halaman tidak diketahui. |
delta_watermark_tsn | int | Transaksi titik pemeriksaan terakhir yang menulis ke file delta ini. Ini adalah marka air untuk file delta. |
last_checkpoint_recovery_lsn | nvarchar(23) | Nomor urutan log pemulihan dari titik pemeriksaan terakhir yang masih memerlukan file. |
tombstone_operation_lsn | nvarchar(23) | File akan dihapus setelah tombstone_operation_lsn berada di belakang nomor urutan log pemotongan log. |
logical_deletion_log_block_id | bigint | Hanya berlaku untuk status 5. |
Izin
VIEW DATABASE STATE
Memerlukan izin pada database.
Izin untuk SQL Server 2022 dan yang lebih baru
Memerlukan izin TAMPILKAN STATUS PERFORMA DATABASE pada database.
Kasus Penggunaan
Anda dapat memperkirakan total penyimpanan yang digunakan oleh OLTP Dalam Memori sebagai berikut:
-- 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;
Untuk melihat perincian pemanfaatan penyimpanan menurut status dan jenis file, jalankan kueri berikut:
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;
Konten terkait
- Pengantar Tabel yang Dioptimalkan Memori
- Tampilan Manajemen Dinamis Tabel yang Dioptimalkan Memori
- Gambaran Umum dan Skenario Penggunaan OLTP Dalam Memori
- Mengoptimalkan performa dengan menggunakan teknologi dalam memori di Azure SQL Database
- Mengoptimalkan performa dengan menggunakan teknologi dalam memori di Azure SQL Managed Instance