sys.dm_db_partition_stats (Transact-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics Platform 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 di sys.dm_pdw_nodes_db_partition_stats berbeda dari partition_id dalam tampilan katalog sys.partitions 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 tampilan katalog sys.partitions kecuali untuk Azure Synapse Analytics.
object_id Int ID objek tabel atau tampilan terindeks yang merupakan bagian dari partisi.
index_id int ID tumpukan atau indeks yang merupakan bagian dari partisi.

0 = Timbunan

1 = Indeks berkluster.

> 1 = Indeks nonkluster
partition_number int Nomor partisi berbasis 1 dalam indeks atau tumpukan.
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 di 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 disediakan 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 disediakan 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 disediakan 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 sebagairow_overflow_used_page_countlob_used_page_count + in_row_used_page_count + .
reserved_page_count bigint Jumlah total halaman yang dicadangkan untuk partisi. Dihitung sebagairow_overflow_reserved_page_countrow_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 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 tampilan manajemen dinamis sys.dm_db_partition_stats. Untuk informasi selengkapnya tentang izin pada tampilan manajemen dinamis, lihat Tampilan dan Fungsi Manajemen Dinamis (SQL Transact).

Contoh

A. Mengembalikan semua hitungan untuk semua partisi semua indeks dan tumpukan dalam database

Contoh berikut menunjukkan semua hitungan untuk semua partisi semua indeks dan tumpukan dalam database AdventureWorks2012.

USE AdventureWorks2012;  
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 AdventureWorks2012;  
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 AdventureWorks2012;  
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  

Lihat juga

Tampilan dan Fungsi Manajemen Dinamis (SQL Bertransaksi)
Tampilan Manajemen Dinamis Terkait Database (SQL Bertransaksi)