Pokud máte na serveru SQL rozdělenou tabulku nebo index a chcete zkontrolovat typ parametru funkce oddílu, můžete použít sys.partition_parameters
zobrazení systémového katalogu.
Toto zobrazení vrátí řádek pro každý parametr funkce oddílu.
Typ parametru by se měl shodovat nebo být implicitně převoditelný na datový typ rozdělovacího sloupce v tabulce nebo indexu.
Příklad
Zde je příklad, který ukazuje sloupce vrácené sys.partition_parameters
zobrazit.
SELECT * FROM sys.partition_parameters;
Výsledek:
+---------------+----------------+------------------+--------------+-------------+---------+------------------+----------------+ | function_id | parameter_id | system_type_id | max_length | precision | scale | collation_name | user_type_id | |---------------+----------------+------------------+--------------+-------------+---------+------------------+----------------| | 65542 | 1 | 56 | 4 | 10 | 0 | NULL | 56 | +---------------+----------------+------------------+--------------+-------------+---------+------------------+----------------+
Mám pouze jednu funkci oddílu, takže se vrací pouze jeden řádek.
Zde je výsledek opět pomocí vertikálního výstupu (abyste nemuseli rolovat do stran):
function_id | 65542 parameter_id | 1 system_type_id | 56 max_length | 4 precision | 10 scale | 0 collation_name | NULL user_type_id | 56
Získejte název typu
sys.partition_parameters
view ve skutečnosti nevrací název typu. Vrátí ID typu. Ve skutečnosti vrací ID typu jak typu systému, tak typu definovaného uživatelem.
Naštěstí můžeme použít TYPE_NAME()
funkce vrátit název každého.
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;
Výsledek (při použití vertikálního výstupu):
function_id | 65542 parameter_id | 1 System Type | int max_length | 4 precision | 10 scale | 0 collation_name | NULL User Type | int
Vraťte název funkce
Můžeme se také připojit k sys.partition_functions
view vrátí název funkce místo jejího ID.
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;
Výsledek (při použití vertikálního výstupu):
name | MoviesPartitionFunction parameter_id | 1 System Type | int max_length | 4 precision | 10 scale | 0 collation_name | NULL User Type | int