Als u op zoek bent naar een catalogusweergave om parameterinformatie in SQL Server te retourneren, heeft u een keuze. In het bijzonder kunt u parameterinformatie krijgen van sys.parameters
, sys.system_parameters
, en sys.all_parameters
.
U zult echter waarschijnlijk slechts één van deze weergaven willen gebruiken, omdat er verschillen zijn tussen hen.
Hier is de officiële definitie van elke weergave:
sys.parameters
- Bevat een rij voor elke parameter van een object dat parameters accepteert. Als het object een scalaire functie is, is er ook een enkele rij die de geretourneerde waarde beschrijft. Die rij heeft een parameter_id waarde van 0.
sys.system_parameters
- Bevat één rij voor elk systeemobject dat parameters heeft.
sys.all_parameters
- Toont de unie van alle parameters die behoren tot door de gebruiker gedefinieerde of systeemobjecten.
Met andere woorden, de laatste weergave combineert de resultaten van de vorige twee weergaven (het retourneert parameterinformatie van zowel systeem en door de gebruiker gedefinieerde objecten).
Voorbeeld
Hier is een voorbeeld dat het verschil in resultaten van deze weergaven laat zien.
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;
Resultaat:
+--------------+ | parameters | |--------------| | 7 | +--------------+ (1 row affected) +---------------------+ | system_parameters | |---------------------| | 7442 | +---------------------+ (1 row affected) +------------------+ | all_parameters | |------------------| | 7449 | +------------------+ (1 row affected)
In dit geval zijn er slechts 7 parameters voor door de gebruiker gedefinieerde objecten in deze database. De rest is van systeemobjecten.
Als we de resultaten van de eerste twee zoekopdrachten bij elkaar optellen, krijgen we hetzelfde resultaat als sys.all_views
:
SELECT (SELECT COUNT(*) FROM sys.parameters) + (SELECT COUNT(*) FROM sys.system_parameters) AS Result;
Resultaat:
+----------+ | Result | |----------| | 7449 | +----------+