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ı
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.
Uyarı
sys.dm_db_page_info şu anda yalnızca SQL Server 2019 (15.x) ve sonraki sürümlerde desteklenmektedir.
Sözdizimi
sys.dm_db_page_info ( DatabaseId , FileId , PageId , Mode )
Arguments
DatabaseId | NULL | TEMERRÜT
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 | TEMERRÜT
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 | TEMERRÜT
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 | TEMERRÜT
İş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ü | Description |
|---|---|---|
| veritabanı_kimlik | 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ı Hayaletli kayıt, silinmek üzere işaretlenmiş ancak henüz kaldırılmayan kayıttı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 database_id, file_id ve page_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 VERITABANı PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerektirir.
Örnekler
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 page_resource bulunduğunda, sys.dm_exec_requests tarafından sunulan her bir wait_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;