sys.dm_db_partition_stats (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Mengembalikan informasi jumlah halaman dan baris untuk setiap partisi dalam database saat ini.

Catatan

Untuk memanggil ini dari Azure Synapse Analytics atau Analytics Platform System (PDW), gunakan nama sys.dm_pdw_nodes_db_partition_stats. partition_id sys.dm_pdw_nodes_db_partition_stats berbeda dari partition_id dalam sys.partitions tampilan katalog untuk Azure Synapse Analytics. Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Nama kolom Jenis data Deskripsi
partition_id bigint ID partisi. Ini unik dalam database. Ini adalah nilai yang sama dengan partition_id dalam sys.partitions tampilan katalog kecuali untuk Azure Synapse Analytics.
object_id int ID objek tabel atau tampilan terindeks yang merupakan bagian dari partisi.
index_id int ID timbunan atau indeks yang menjadi bagian dari partisi.

0 = Timbunan
1 = Indeks berkluster.
> 1 = Indeks nonclustered
partition_number int Nomor partisi berbasis 1 dalam indeks atau timbunan.
in_row_data_page_count bigint Jumlah halaman yang digunakan untuk menyimpan data dalam baris dalam partisi ini. Jika partisi adalah bagian dari tumpukan, nilainya adalah jumlah halaman data dalam tumpukan. Jika partisi adalah bagian dari indeks, nilainya adalah jumlah halaman dalam tingkat daun. (Halaman nonleaf di pohon B+ tidak disertakan dalam hitungan.) Halaman IAM (Peta Alokasi Indeks) tidak disertakan dalam kedua kasus. Selalu 0 untuk indeks penyimpan kolom yang dioptimalkan memori xVelocity.
in_row_used_page_count bigint Jumlah total halaman yang digunakan untuk menyimpan dan mengelola data dalam baris dalam partisi ini. Jumlah ini mencakup halaman pohon B+ nonleaf, halaman IAM, dan semua halaman yang disertakan dalam kolom in_row_data_page_count . Selalu 0 untuk indeks penyimpan kolom.
in_row_reserved_page_count bigint Jumlah total halaman yang dicadangkan untuk menyimpan dan mengelola data dalam baris dalam partisi ini, terlepas dari apakah halaman sedang digunakan atau tidak. Selalu 0 untuk indeks penyimpan kolom.
lob_used_page_count bigint Jumlah halaman yang digunakan untuk menyimpan dan mengelola teks di luar baris, ntext, gambar, varchar(max), nvarchar(max), varbinary(max), dan kolom xml dalam partisi. Halaman IAM disertakan.

Jumlah total LOB yang digunakan untuk menyimpan dan mengelola indeks penyimpan kolom dalam partisi.
lob_reserved_page_count bigint Jumlah total halaman yang dicadangkan untuk menyimpan dan mengelola teks di luar baris, ntext, gambar, varchar(max), nvarchar(max), varbinary(max), dan kolom xml dalam partisi, terlepas dari apakah halaman sedang digunakan atau tidak. Halaman IAM disertakan.

Jumlah total LOB yang dicadangkan untuk menyimpan dan mengelola indeks penyimpan kolom di partisi.
row_overflow_used_page_count bigint Jumlah halaman yang digunakan untuk menyimpan dan mengelola varchar luapan baris, nvarchar, varbinary, dan kolom sql_variant dalam partisi. Halaman IAM disertakan.

Selalu 0 untuk indeks penyimpan kolom.
row_overflow_reserved_page_count bigint Jumlah total halaman yang dicadangkan untuk menyimpan dan mengelola varchar luapan baris, nvarchar, varbinary, dan sql_variant kolom dalam partisi, terlepas dari apakah halaman sedang digunakan atau tidak. Halaman IAM disertakan.

Selalu 0 untuk indeks penyimpan kolom.
used_page_count bigint Jumlah total halaman yang digunakan untuk partisi. Dihitung sebagai row_overflow_used_page_count lob_used_page_count in_row_used_page_count + + .
reserved_page_count bigint Jumlah total halaman yang dicadangkan untuk partisi. Dihitung sebagai row_overflow_reserved_page_count lob_reserved_page_count in_row_reserved_page_count + + .
row_count bigint Perkiraan jumlah baris dalam partisi.
pdw_node_id int Berlaku untuk: Azure Synapse Analytics, Analytics Platform System (PDW)

Pengidentifikasi untuk simpul tempat distribusi ini aktif.
distribution_id int Berlaku untuk: Azure Synapse Analytics, Analytics Platform System (PDW)

ID numerik unik yang terkait dengan distribusi.

Keterangan

sys.dm_db_partition_stats Tampilan manajemen dinamis (DMV) menampilkan informasi tentang ruang yang digunakan untuk menyimpan dan mengelola data LOB data dalam baris, dan data luapan baris untuk semua partisi dalam database. Satu baris ditampilkan per partisi.

Hitungan di mana output didasarkan di-cache dalam memori atau disimpan pada disk dalam berbagai tabel sistem.

Data dalam-baris, data LOB, dan data luapan-baris mewakili tiga unit alokasi yang membentuk sebuah partisi. Tampilan katalog sys.allocation_units dapat dikueri untuk metadata tentang setiap unit alokasi dalam database.

Jika tumpukan atau indeks tidak dipartisi, tumpukan atau indeks itu terdiri dari satu partisi (dengan nomor partisi = 1); oleh karena itu, hanya satu baris yang dikembalikan untuk tumpukan atau indeks tersebut. Tampilan katalog sys.partitions dapat dikueri untuk metadata tentang setiap partisi dari semua tabel dan indeks dalam database.

Jumlah total untuk tabel individu atau indeks dapat diperoleh dengan menambahkan hitungan untuk semua partisi yang relevan.

Izin

VIEW DATABASE STATE Memerlukan izin dan VIEW DEFINITION untuk mengkueri sys.dm_db_partition_stats tampilan manajemen dinamis. Untuk informasi selengkapnya tentang izin pada tampilan manajemen dinamis, lihat Tampilan dan Fungsi Manajemen Dinamis (Transact-SQL).

Izin untuk SQL Server 2022 dan yang lebih baru

Memerlukan izin TAMPILKAN STATUS PERFORMA DATABASE dan LIHAT DEFINISI KEAMANAN pada database.

Contoh

J. Mengembalikan semua hitungan untuk semua partisi semua indeks dan timbunan dalam database

Contoh berikut menunjukkan semua hitungan untuk semua partisi semua indeks dan timbunan dalam database AdventureWorks2022.

USE AdventureWorks2022;  
GO  
SELECT * FROM sys.dm_db_partition_stats;  
GO  

B. Mengembalikan semua hitungan untuk semua partisi tabel dan indeksnya

Contoh berikut menunjukkan semua hitungan untuk semua partisi HumanResources.Employee tabel dan indeksnya.

USE AdventureWorks2022;  
GO  
SELECT * FROM sys.dm_db_partition_stats   
WHERE object_id = OBJECT_ID('HumanResources.Employee');  
GO  

C. Mengembalikan total halaman yang digunakan dan jumlah total baris untuk indeks timbunan atau berkluster

Contoh berikut mengembalikan total halaman yang digunakan dan jumlah total baris untuk indeks timbunan HumanResources.Employee atau kluster tabel. Employee Karena tabel tidak dipartisi secara default, perhatikan jumlah hanya menyertakan satu partisi.

USE AdventureWorks2022;  
GO  
SELECT SUM(used_page_count) AS total_number_of_used_pages,   
    SUM (row_count) AS total_number_of_rows   
FROM sys.dm_db_partition_stats  
WHERE object_id=OBJECT_ID('HumanResources.Employee')    AND (index_id=0 or index_id=1);  
GO