Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Periksa Jenis Parameter Fungsi Partisi di SQL Server (T-SQL)

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menghubungkan ke SQL Server Instance dengan menggunakan Windows Authentication atau SQL Server Authentication - Tutorial SQL Server / T-SQL Bagian 3

  2. Apa itu Operator Logika IN di SQL Server - Tutorial SQL Server / TSQL Bagian 122

  3. Jatuhkan semua tabel yang namanya dimulai dengan string tertentu

  4. Cara Mengetahui Cara Menangani Korupsi Basis Data di SQL Server

  5. Ukuran maksimum untuk Kueri SQL Server? klausa IN? Apakah ada Pendekatan yang Lebih Baik?