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. Das gehostete CLR wird durch Ausführung der CREATE ASSEMBLY, , oder-Anweisungen ALTER ASSEMBLYDROP ASSEMBLY oder durch Ausführung einer beliebigen CLR-Routine, -typ 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. Es sind:

  • Mscoree ist nicht geladen.

  • Mscoree ist geladen.

  • Abgeschlossene CLR-Version mit mscoree.

  • CLR wird initialisiert.

  • Die CLR-Initialisierung ist dauerhaft fehlgeschlagen.

  • CLR ist gestoppt.

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 (wie CREATE ASSEMBLY (Transact-SQL)) oder einem verwalteten Datenbankobjekt 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 die SQL-Datenbank-Ziele Basic, S0 und S1 sowie für Datenbanken in Pools für elastische Datenbanken ist das Konto des Serveradministrators oder des Microsoft Entra-Administratorkontos 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

Benötigt VIEW die Berechtigung SERVER PERFORMANCE STATE 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)
Dynamische Managementansichten mit Laufzeit in der Common Language (Transact-SQL)