Pokud hledáte zobrazení katalogu pro vrácení informací o parametrech na SQL Server, máte na výběr. Informace o parametrech můžete získat zejména z sys.parameters
, sys.system_parameters
a sys.all_parameters
.
Pravděpodobně však budete chtít použít pouze jeden z těchto pohledů, protože mezi nimi existují rozdíly.
Zde je oficiální definice každého zobrazení:
sys.parameters
- Obsahuje řádek pro každý parametr objektu, který přijímá parametry. Pokud je objektem skalární funkce, existuje také jeden řádek popisující návratovou hodnotu. Tento řádek bude mít hodnotu parametru 0.
sys.system_parameters
- Obsahuje jeden řádek pro každý systémový objekt, který má parametry.
sys.all_parameters
- Zobrazuje spojení všech parametrů, které patří k uživatelem definovaným nebo systémovým objektům.
Jinými slovy, poslední pohled kombinuje výsledky předchozích dvou pohledů (vrací informace o parametrech ze systému a uživatelem definované objekty).
Příklad
Zde je příklad, který ukazuje rozdíl ve výsledcích vrácených těmito zobrazeními.
USE Music; SELECT COUNT(*) AS parameters FROM sys.parameters; SELECT COUNT(*) AS system_parameters FROM sys.system_parameters; SELECT COUNT(*) AS all_parameters FROM sys.all_parameters;
Výsledek:
+--------------+ | parameters | |--------------| | 7 | +--------------+ (1 row affected) +---------------------+ | system_parameters | |---------------------| | 7442 | +---------------------+ (1 row affected) +------------------+ | all_parameters | |------------------| | 7449 | +------------------+ (1 row affected)
V tomto případě je v této databázi pouze 7 parametrů pro uživatelem definované objekty. Zbytek pochází ze systémových objektů.
Pokud sečteme výsledky prvních dvou dotazů dohromady, dostaneme stejný výsledek jako sys.all_views
:
SELECT (SELECT COUNT(*) FROM sys.parameters) + (SELECT COUNT(*) FROM sys.system_parameters) AS Result;
Výsledek:
+----------+ | Result | |----------| | 7449 | +----------+