Jika Anda memiliki tabel atau indeks yang dipartisi di SQL Server, dan Anda ingin memeriksa tipe parameter dari fungsi partisi, Anda dapat menggunakan sys.partition_parameters
tampilan katalog sistem.
Tampilan ini mengembalikan baris untuk setiap parameter fungsi partisi.
Tipe parameter harus cocok atau secara implisit dapat dikonversi ke tipe data kolom partisi dalam tabel atau indeks.
Contoh
Berikut adalah contoh yang menunjukkan kolom yang dikembalikan oleh sys.partition_parameters
lihat.
SELECT * FROM sys.partition_parameters;
Hasil:
+---------------+----------------+------------------+--------------+-------------+---------+------------------+----------------+ | function_id | parameter_id | system_type_id | max_length | precision | scale | collation_name | user_type_id | |---------------+----------------+------------------+--------------+-------------+---------+------------------+----------------| | 65542 | 1 | 56 | 4 | 10 | 0 | NULL | 56 | +---------------+----------------+------------------+--------------+-------------+---------+------------------+----------------+
Saya hanya punya satu fungsi partisi, jadi hanya satu baris yang dikembalikan.
Ini hasilnya lagi menggunakan output vertikal (untuk menyelamatkan Anda dari keharusan menggulir ke samping):
function_id | 65542 parameter_id | 1 system_type_id | 56 max_length | 4 precision | 10 scale | 0 collation_name | NULL user_type_id | 56
Dapatkan Nama Jenisnya
sys.partition_parameters
view sebenarnya tidak mengembalikan nama tipe. Ini mengembalikan ID tipe. Sebenarnya, ini mengembalikan ID tipe dari tipe sistem dan tipe yang ditentukan pengguna.
Untungnya, Anda dapat menggunakan TYPE_NAME()
berfungsi untuk mengembalikan nama masing-masing.
SELECT
function_id,
parameter_id,
TYPE_NAME(system_type_id) AS [System Type],
max_length,
precision,
scale,
collation_name,
TYPE_NAME(user_type_id) AS [User Type]
FROM sys.partition_parameters;
Hasil (menggunakan keluaran vertikal):
function_id | 65542 parameter_id | 1 System Type | int max_length | 4 precision | 10 scale | 0 collation_name | NULL User Type | int
Kembalikan Nama Fungsi
Kami juga dapat bergabung dengan sys.partition_functions
view untuk mengembalikan nama fungsi alih-alih ID-nya.
SELECT
pf.name,
pp.parameter_id,
TYPE_NAME(pp.system_type_id) AS [System Type],
pp.max_length,
pp.precision,
pp.scale,
pp.collation_name,
TYPE_NAME(pp.user_type_id) AS [User Type]
FROM sys.partition_parameters pp
INNER JOIN sys.partition_functions pf
ON pf.function_id = pp.function_id;
Hasil (menggunakan keluaran vertikal):
name | MoviesPartitionFunction parameter_id | 1 System Type | int max_length | 4 precision | 10 scale | 0 collation_name | NULL User Type | int