Wenn Sie nach einer Katalogansicht suchen, um Parameterinformationen in SQL Server zurückzugeben, haben Sie die Wahl. Insbesondere können Sie Parameterinformationen aus sys.parameters
abrufen , sys.system_parameters
und sys.all_parameters
.
Wahrscheinlich möchten Sie jedoch nur eine dieser Ansichten verwenden, da es Unterschiede zwischen ihnen gibt.
Hier ist die offizielle Definition jeder Ansicht:
sys.parameters
- Enthält eine Zeile für jeden Parameter eines Objekts, das Parameter akzeptiert. Wenn das Objekt eine Skalarfunktion ist, gibt es auch eine einzelne Zeile, die den Rückgabewert beschreibt. Diese Zeile hat einen parameter_id-Wert von 0.
sys.system_parameters
- Enthält eine Zeile für jedes Systemobjekt mit Parametern.
sys.all_parameters
- Zeigt die Vereinigung aller Parameter, die zu benutzerdefinierten oder Systemobjekten gehören.
Mit anderen Worten, die letzte Ansicht kombiniert die Ergebnisse der beiden vorherigen Ansichten (sie gibt Parameterinformationen sowohl vom System als auch vom System zurück benutzerdefinierte Objekte).
Beispiel
Hier ist ein Beispiel, das den Unterschied in den Ergebnissen zeigt, die von diesen Ansichten zurückgegeben werden.
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;
Ergebnis:
+--------------+ | parameters | |--------------| | 7 | +--------------+ (1 row affected) +---------------------+ | system_parameters | |---------------------| | 7442 | +---------------------+ (1 row affected) +------------------+ | all_parameters | |------------------| | 7449 | +------------------+ (1 row affected)
In diesem Fall gibt es in dieser Datenbank nur 7 Parameter für benutzerdefinierte Objekte. Der Rest stammt von Systemobjekten.
Wenn wir die Ergebnisse der ersten beiden Abfragen addieren, erhalten wir das gleiche Ergebnis wie sys.all_views
:
SELECT (SELECT COUNT(*) FROM sys.parameters) + (SELECT COUNT(*) FROM sys.system_parameters) AS Result;
Ergebnis:
+----------+ | Result | |----------| | 7449 | +----------+