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ümler
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'teki SQL veritabanı
Veritabanındaki bir sayfa hakkında bilgi döndürür. İşlev, , ve object_iddahil olmak üzere index_idpartition_idsayfadaki üst bilgi bilgilerini içeren bir satır döndürür. Bu işlev çoğu durumda kullanım DBCC PAGE gereksiniminin yerini alır.
Note
sys.dm_db_page_info şu anda yalnızca SQL Server 2019 (15.x) ve sonraki sürümlerde desteklenmektedir.
Syntax
sys.dm_db_page_info ( DatabaseId , FileId , PageId , Mode )
Argümanlar
DatabaseId | NULL | DEFAULT
Veritabanının kimliği. DatabaseIdsmallint'tir. Geçerli giriş, veritabanının kimlik numarasıdır. Varsayılan değer NULL'dir, ancak bu parametre için NULL değeri gönderilmesi hataya neden olur.
FileId | NULL | DEFAULT
Dosyanın kimliği. FileIdis int. Geçerli giriş, DatabaseId tarafından belirtilen veritabanındaki bir dosyanın kimlik numarasıdır. Varsayılan değer NULL'dir, ancak bu parametre için NULL değeri gönderilmesi hataya neden olur.
PageId | NULL | DEFAULT
Sayfanın ID'si. PageIdint değeridir. Geçerli giriş, Dosya Kimliği tarafından belirtilen dosyadaki bir sayfanın kimlik numarasıdır. Varsayılan değer NULL'dir, ancak bu parametre için NULL değeri gönderilmesi hataya neden olur.
Mod | NULL | DEFAULT
İşlev çıkışındaki ayrıntı düzeyini belirler.
'LIMITED' tüm açıklama sütunları için NULL değerler döndürür; 'DETAILED' açıklama sütunlarını doldurur.
DEFAULT, 'LIMITED''e eşittir.
Tablo geri getirildi
| Sütun adı | Veri türü | Açıklama |
|---|---|---|
| database_id | int | Veritabanı Kimliği. Azure SQL Veritabanı'nda değerler tek bir veritabanı veya elastik havuz içinde benzersizdir, ancak mantıksal sunucu içinde değildir. |
| dosya_kimlik | int | Dosya Kimliği |
| page_id | int | Sayfa Kimliği |
| sayfa_başlığı_sürüm | int | Sayfa üst bilgisi sürümü |
| sayfa_türü | int | Sayfa Türü |
| page_type_desc | nvarchar(64) | Sayfa türünün açıklaması |
| sayfa_tipi_bayrak_bitleri | nvarchar(64) | Sayfa üst bilgisinde Bayrak bitleri yazın |
| page_type_flag_bits_desc | nvarchar(64) | Sayfa üst bilgisinde bayrak bitleri açıklamasını yazın |
| sayfa_bayrak_bitleri | nvarchar(64) | Sayfa üst bilgisinde bayrak bitleri |
| sayfa_bayrak_bitleri_açıklaması | nvarchar(256) | Sayfa üst bilgisinde bayrak bitlerinin açıklaması |
| page_lsn | nvarchar(64) | Günlük seri numarası / zaman damgası |
| page_level | int | Dizindeki sayfanın seviyesi (yaprak = 0) |
| object_id | int | Sayfaya sahip olan nesnenin kimliği |
| index_id | int | İndeks kimliği (yığın veri sayfaları için 0) |
| partition_id | bigint | Bölümün kimliği |
| alloc_unit_id | bigint | Ayırma biriminin kimliği |
| şifrelenmiş_mi | bit | Sayfanın şifrelenip şifrelenmediğini belirten bit |
| has_checksum | bit | Sayfanın bir sağlama toplamı değerine sahip olup olmadığını belirten bit |
| sağlama toplamı | int | Veri bozulmasını algılamak için kullanılan sağlama toplamı değerini saklar. |
| is_iam_pg | bit | Sayfanın bir IAM sayfası olup olmadığını belirten bit |
| is_mixed_ext | bit | Karma bir ölçüde ayrılarak ayrılmadığını belirten bit |
| has_ghost_records | bit | Sayfanın hayalet kayıtları içerip içermediğini belirten bit Silinmek üzere işaretlenmiş ancak henüz kaldırılmamış olan kayıt, gölge kayıt olarak adlandırılır. |
| has_version_records | bit | Sayfanın hızlandırılmış veritabanı kurtarma için kullanılan sürüm kayıtlarını içerip içermediğini belirten bit |
| pfs_page_id | int | İlgili PFS sayfasının Sayfa Kimliği |
| pfs_is_allocated | bit | Sayfanın ilgili PFS sayfasında ayrılmış olarak işaretlenip işaretlenmediğini belirten bit |
| pfs_alloc_percent | int | Karşılık gelen PFS baytının belirttiği şekilde ayırma yüzdesi |
| pfs_status | nvarchar(64) | PFS bayt |
| pfs_status_desc | nvarchar(64) | PFS baytının açıklaması |
| gam_page_id | int | İlgili GAM sayfasının Sayfa Kimliği |
| gam_status | bit | GAM'da ayrılmış olup olmadığını belirten bit |
| gam_status_desc | nvarchar(64) | GAM durum bitinin açıklaması |
| sgam_page_id | int | İlgili SGAM sayfasının Sayfa Kimliği |
| sgam_status | bit | SGAM'de ayrılmış olup olmadığını belirten bit |
| sgam_status_desc | nvarchar(64) | SGAM durum bitinin açıklaması |
| diff_map_page_id | int | Karşılık gelen diferansiyel bitmap sayfasının Sayfa Kimliği |
| diff_status | bit | Fark durumunun değiştirilip değiştirilmediğini belirten bit |
| fark_durumu_açıklaması | nvarchar(64) | Fark durumu bitinin açıklaması |
| ml_map_page_id | int | İlgili minimum günlük bit eşlem sayfasının Sayfa Kimliği |
| ml_status | bit | Sayfanın minimum düzeyde günlüğe kaydedilip kaydedilmediğini belirten bit |
| ml_durum_açıklaması | nvarchar(64) | Minimal kayıt durumu bitinin açıklaması |
| önceki_sayfa_dosya_kimliği | smallint | Önceki sayfa dosyası kimliği |
| önceki_sayfa_sayfa_kimliği | int | Önceki sayfa kimliği |
| next_page_file_id | smallint | Sonraki sayfa dosyası kimliği |
| next_page_page_id | int | Sonraki sayfa sayfa kimliği |
| sabit_uzunluk | smallint | Sabit boyutlu satırların uzunluğu |
| slot_count | smallint | Toplam yuva sayısı (kullanılan ve kullanılmayan) Veri sayfası için bu sayı, satır sayısına eşdeğerdir. |
| hayalet_kayıt_sayı | smallint | Sayfadaki hayalet olarak işaretlenmiş kayıt sayısı Silinmek üzere işaretlenmiş ancak henüz kaldırılmamış olan kayıt, gölge kayıt olarak adlandırılır. |
| boş_baytlar | smallint | Sayfadaki boş bayt sayısı |
| free_data_offset | int | Veri alanının sonundaki boş alanın uzaklığı |
| reserved_bytes | smallint | Tüm işlemler tarafından ayrılmış boş bayt sayısı (yığın ise) Gölge satır sayısı (eğer dizin yaprağıysa) |
| reserved_bytes_by_xdes_id | smallint | m_xdesID tarafından m_reservedCnt'ye katkıda bulunulan alan Yalnızca hata ayıklama amacıyla |
| xdes_id | nvarchar(64) | m_reserved katkıda bulunan en son işlem Yalnızca hata ayıklama amacıyla |
Açıklamalar
sys.dm_db_page_info Dinamik yönetim işlevi, sayfa üst bilgisinde bulunan page_id, file_id, index_id, object_id ve benzeri bilgileri döndürür. Bu bilgiler çeşitli performans (kilit ve mandal çekişmesi) ve bozulma sorunlarını gidermek ve hatalarını ayıklamak için yararlıdır.
sys.dm_db_page_info çoğu durumda deyiminin DBCC PAGE yerine kullanılabilir, ancak sayfanın gövdesini değil yalnızca sayfa üst bilgisi bilgilerini döndürür.
DBCC PAGE sayfanın tüm içeriğinin gerekli olduğu kullanım örnekleri için gerekli olmaya devam edecektir.
Diğer DMV'lerle bir arada kullanın
sys.dm_db_page_info'nin önemli kullanım durumlarından biri, sayfa bilgilerini ortaya koyan diğer DMV'lerle birleştirmektir. Bu kullanım örneğini kolaylaştırmak için, sayfa bilgilerini 8 baytlık onaltılık biçimde kullanıma sunan adlı page_resource yeni bir sütun eklenmiştir. Bu sütun sys.dm_exec_requests ve sys.sysprocesses eklendi ve gelecekte gerektiğinde diğer DMV'lere de eklenecektir.
Yeni bir işlev, sys.fn_PageResCracker öğesini giriş olarak alır ve page_resource, database_id ve file_id içeren tek bir satır üretir. Bu işlev daha sonra sys.dm_exec_requests veya sys.sysprocesses ile sys.dm_db_page_info arasındaki birleştirmeleri kolaylaştırmak için kullanılabilir.
Permissions
VIEW DATABASE STATE Veritabanında izin gerektirir.
SQL Server 2022 ve üzeri için izinler
Veritabanında PERFORMANCE STATE izni gerektirir VIEWDATABASE .
Examples
A. Sayfanın tüm özelliklerini görüntüleme
Aşağıdaki sorgu, varsayılan mod ('LIMITED') ile belirli database_id, file_id, page_id kombinasyonu için tüm sayfa bilgilerini içeren bir satır döndürür.
SELECT *
FROM sys.dm_db_page_info (5, 1, 15, DEFAULT);
B. Sys.dm_db_page_info'u diğer DMV'ler ile birlikte kullanma
Aşağıdaki sorgu, satır içerisinde null olmayan bir wait_resource bulunduğunda, sys.dm_exec_requests tarafından sunulan her bir page_resource için bir satır döndürür.
SELECT page_info.*
FROM sys.dm_exec_requests AS d
CROSS APPLY sys.fn_PageResCracker(d.page_resource) AS r
CROSS APPLY sys.dm_db_page_info(r.db_id, r.file_id, r.page_id, 'LIMITED') AS page_info;