sys.dm_db_partition_stats (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 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