sys.dm_clr_properties (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)

Gibt eine Zeile für jede Eigenschaft zurück, die mit der SQL Server Common Language Runtime (CLR)-Integration verbunden ist, einschließlich der Version und des Zustands der gehosteten CLR. Die gehostete CLR wird durch Ausführen der CREATE ASSEMBLY-, ALTER ASSEMBLY- oder DROP ASSEMBLY-Anweisungen oder durch Ausführen einer CLR-Routine, eines Typs oder eines Triggers initialisiert. Die sys.dm_clr_properties Ansicht gibt nicht an, ob die Ausführung von Benutzer-CLR-Code auf dem Server aktiviert wurde. Die Ausführung des CLR-Codes des Benutzers wird mithilfe der gespeicherten sp_configure Prozedur aktiviert, wobei die Option clr aktiviert auf 1 festgelegt ist.

Die ansicht sys.dm_clr_properties enthält die Namen - und Wertspalten . Jede Zeile in dieser Sicht enthält Details zu einer Eigenschaft der gehosteten CLR. Mit dieser Sicht können Sie Informationen zur gehosteten CLR zusammentragen, z. B. das CLR-Installationsverzeichnis, die CLR-Version und den aktuellen Status der gehosteten CLR. Mit dieser Sicht können Sie bestimmen, ob der CLR-Integrationscode aufgrund von Problemen mit der CLR-Installation auf dem Servercomputer nicht funktioniert.

Spaltenname Datentyp BESCHREIBUNG
name nvarchar(128) Der Name der Eigenschaft.
value nvarchar(128) Der Wert der Eigenschaft.

Eigenschaften

Die Verzeichniseigenschaft gibt das Verzeichnis an, auf dem .NET Framework auf dem Server installiert wurde. Es kann mehrere Installationen von .NET Framework auf dem Servercomputer geben, und der Wert dieser Eigenschaft gibt an, welche Installation SQL Server verwendet.

Die Version-Eigenschaft gibt die Version von .NET Framework und gehostete CLR auf dem Server an.

Die sys.dm_clr_properties dynamische verwaltete Ansicht kann sechs unterschiedliche Werte für die Statuseigenschaft zurückgeben, die den Status der vom SQL Server gehosteten CLR widerspiegelt. Sie lauten wie folgt:

  • Mscoree is not loaded.

  • Mscoree is loaded.

  • Locked CLR version with mscoree.

  • CLR is initialized.

  • CLR initialization permanently failed.

  • CLR is stopped.

Der Mscoree ist nicht geladen, und Mscoree wird geladen, und der Verlauf der gehosteten CLR-Initialisierung beim Serverstart wird wahrscheinlich nicht angezeigt.

Die Gesperrte CLR-Version mit dem Mscoree-Zustand wird möglicherweise angezeigt, wo die gehostete CLR nicht verwendet wird und daher noch nicht initialisiert wurde. Die gehostete CLR wird beim ersten Ausführen einer DDL-Anweisung (z . B. CREATE ASSEMBLY (Transact-SQL)) oder eines verwalteten Datenbankobjekts initialisiert.

Der CLR-Status ist initialisiert , gibt an, dass die gehostete CLR erfolgreich initialisiert wurde. Beachten Sie, dass dadurch nicht angegeben wird, ob die Ausführung von benutzerdefiniertem CLR-Code aktiviert wurde. Wenn die Ausführung des ClR-Codes des Benutzers zuerst aktiviert und dann mithilfe der gespeicherten Transact-SQL-sp_configure-Prozedur deaktiviert wird, wird der Statuswert weiterhin CLR initialisiert.

Der CLR-Initialisierungsstatus ist dauerhaft fehlgeschlagen , wenn die gehostete CLR-Initialisierung fehlgeschlagen ist. Der Arbeitsspeicherdruck ist wahrscheinlich eine Ursache, oder es kann auch das Ergebnis eines Fehlers im Hosting-Handshake zwischen SQL Server und clR sein. In diesem Fall wird die Fehlermeldung 6512 oder 6513 ausgegeben.

Der CLR-Status wird nur angezeigt, wenn SQL Server beim Herunterfahren ausgeführt wird.

Hinweise

Die Eigenschaften und Werte dieser Ansicht können sich aufgrund von Verbesserungen der CLR-Integrationsfunktionalität in einer zukünftigen Version von SQL Server ändern.

Berechtigungen

Für SQL Server und SQL Managed Instance ist die VIEW SERVER STATE-Berechtigung erforderlich.

Für SQL-Datenbank Standard-, S0- und S1-Dienstziele sowie für Datenbanken in elastischen Pools ist das Serveradministratorkonto, das Microsoft Entra-Administratorkonto oder die Mitgliedschaft in der ##MS_ServerStateReader##Serverrolle erforderlich. Für alle anderen SQL-Datenbank-Dienstziele ist entweder die VIEW DATABASE STATE-Berechtigung für die Datenbank oder die Mitgliedschaft in der ##MS_ServerStateReader##-Serverrolle erforderlich.

Berechtigungen für SQL Server 2022 und höher

Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.

Beispiele

Im folgenden Beispiel werden Informationen zur gehosteten CLR abgerufen:

SELECT name, value   
FROM sys.dm_clr_properties;  

Siehe auch

Dynamische Verwaltungssichten und Funktionen (Transact-SQL)
Common Language Runtime Related Dynamic Management Views (Transact-SQL)