Freigeben über


sys.dm_clr_properties (Transact-SQL)

Gibt eine Zeile für jede Eigenschaft in Verbindung mit der CLR-Integration (Common Language Runtime) von SQL Server zurück, einschließlich der Version und des Status der gehosteten CLR. Die gehostete CLR wird durch Ausführen der Anweisungen CREATE ASSEMBLY, ALTER ASSEMBLY oder DROP ASSEMBLY initialisiert oder durch Ausführen einer beliebigen CLR-Routine, eines CLR-Typs oder -Triggers. Mit der sys.dm_clr_properties-Sicht wird nicht angegeben, ob die Ausführung von benutzerdefiniertem CLR-Code auf dem Server aktiviert wurde. Die Ausführung von benutzerdefiniertem CLR-Code wird mithilfe der gespeicherten Prozedur sp_configure aktiviert, wobei die Option clr enabled auf 1 festgelegt wird.

Die sys.dm_clr_properties-Sicht enthält die Spalten name und value. 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)

Wert der Eigenschaft.

Eigenschaften

Die directory-Eigenschaft gibt das Verzeichnis an, in dem .NET Framework auf dem Server installiert wurde. Möglicherweise sind mehrere Installationen von .NET Framework auf dem Servercomputer vorhanden, und durch den Wert dieser Eigenschaft wird angegeben, welche Installation derzeit von SQL Server verwendet wird.

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

Die dynamische Verwaltungssicht sys.dm_clr_properties gibt sechs verschiedene Werte für die state-Eigenschaft zurück, die den Status der von SQL Server gehosteten CLR wiedergeben. Folgende Werte sind möglich:

  • Mscoree is not loaded.

  • Mscoree is loaded.

  • Locked CLR version with mscoree.

  • CLR is initialized.

  • CLR initialization permanently failed.

  • CLR is stopped.

Die Statuswerte Mscoree is not loaded und Mscoree is loaded zeigen den Fortschritt der Initialisierung der gehosteten CLR beim Start des Servers an und werden somit nur selten angezeigt.

Der Status Locked CLR version with mscoree wird angezeigt, wenn die gehostete CLR nicht verwendet wird und daher noch nicht initialisiert wurde. Die gehostete CLR wird initialisiert, wenn eine DDL-Anweisung (z. B. CREATE ASSEMBLY (Transact-SQL)) oder ein verwaltetes Datenbankobjekt erstmalig ausgeführt wird.

Mit dem Status CLR is initialized wird angegeben, 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 von benutzerdefiniertem CLR-Code zunächst mithilfe der gespeicherten Transact-SQL-Prozedur sp_configure aktiviert und dann deaktiviert wurde, lautet der Statuswert weiterhin CLR is initialized.

Der Status CLR initialization permanently failed gibt an, dass bei der Initialisierung der gehosteten CLR ein Fehler aufgetreten ist. Mögliche Gründe sind ungenügend Arbeitsspeicher oder ein Fehler im Hosthandshake zwischen SQL Server und der CLR. In diesem Fall wird die Fehlermeldung 6512 oder 6513 ausgegeben.

Der Status CLR is stopped state wird nur angezeigt, wenn SQL Server heruntergefahren wird.

Hinweise

Die Eigenschaften und Werte dieser Sicht ändern sich aufgrund von Verbesserungen an der CLR-Integrationsfunktionalität möglicherweise in einer zukünftigen Version von SQL Server.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Beispiele

Im folgenden Beispiel werden Informationen zur gehosteten CLR abgerufen:

select name, value 
from sys.dm_clr_properties