Ако търсите изглед на каталог, за да върнете информация за параметрите в SQL Server, имате избор. По-специално, можете да получите информация за параметрите от sys.parameters
, sys.system_parameters
и sys.all_parameters
.
Вероятно обаче ще искате да използвате само един от тези изгледи, тъй като има разлики между тях.
Ето официалната дефиниция на всеки изглед:
sys.parameters
- Съдържа ред за всеки параметър на обект, който приема параметри. Ако обектът е скаларна функция, има и един ред, описващ връщаната стойност. Този ред ще има стойност на parameter_id от 0.
sys.system_parameters
- Съдържа един ред за всеки системен обект, който има параметри.
sys.all_parameters
- Показва обединението на всички параметри, които принадлежат на дефинирани от потребителя или системни обекти.
С други думи, последният изглед комбинира резултатите от предишните два изгледа (връща информация за параметрите както от и системата дефинирани от потребителя обекти).
Пример
Ето пример, който демонстрира разликата в резултатите, върнати от тези изгледи.
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;
Резултат:
+--------------+ | parameters | |--------------| | 7 | +--------------+ (1 row affected) +---------------------+ | system_parameters | |---------------------| | 7442 | +---------------------+ (1 row affected) +------------------+ | all_parameters | |------------------| | 7449 | +------------------+ (1 row affected)
В този случай има само 7 параметъра за дефинирани от потребителя обекти в тази база данни. Останалите са от системни обекти.
Ако добавим резултатите от първите две заявки заедно, получаваме същия резултат като sys.all_views
:
SELECT (SELECT COUNT(*) FROM sys.parameters) + (SELECT COUNT(*) FROM sys.system_parameters) AS Result;
Резултат:
+----------+ | Result | |----------| | 7449 | +----------+