Partager via


sys.dm_clr_properties (Transact-SQL)

Renvoie une ligne pour chaque propriété relative à l'intégration du CLR (Common Language Runtime) SQL Server, comprenant la version et l'état du CLR hébergé. Le CLR hébergé est initialisé en exécutant les instructions CREATE ASSEMBLY, ALTER ASSEMBLY ou DROP ASSEMBLY ou en exécutant une routine, un type ou un déclencheur CLR. La vue sys.dm_clr_properties ne spécifie pas quand l'exécution de code CLR utilisateur a été activée sur le serveur. L'exécution de code CLR utilisateur est activée via la procédure stockée sp_configure, avec la valeur 1 de l'option clr enabled.

La vue sys.dm_clr_properties contient les colonnes name et value. Chaque ligne de cette vue fournit des détails sur une propriété du CLR hébergé. Utilisez cette vue pour recueillir des informations sur le CLR hébergé, telles que le répertoire d'installation du CLR, sa version ou encore son état actuel. Cette vue peut vous aider à déterminer que le code d'intégration CLR ne fonctionne pas en raison de problèmes d'installation du CLR sur le serveur.

Nom de colonne

Type de données

Description

name

nvarchar(128)

Nom de la propriété.

value

nvarchar(128)

Valeur de la propriété.

Propriétés

La propriété directory indique le répertoire dans lequel le .NET Framework a été installé sur le serveur. Il existe plusieurs façons d'installer le .NET Framework sur le serveur et la valeur de cette propriété identifie l'installation SQL Server qui est utilisée.

La propriété version indique la version du .NET Framework et du CLR hébergé sur le serveur.

La vue de gestion dynamique sys.dm_clr_properties peut renvoyer six valeurs différentes pour la propriété state, qui reflète l'état du CLR hébergé SQL Server. Ce sont les états suivants :

  • Mscoree is not loaded.

  • Mscoree is loaded.

  • Locked CLR version with mscoree.

  • CLR is initialized.

  • CLR initialization permanently failed.

  • CLR is stopped.

Les états Mscoree is not loaded et Mscoree is loaded indiquent la progression de l'initialisation du CLR hébergé au démarrage du serveur et ne sont pas susceptibles d'être affichés.

L'état Locked CLR version with mscoree peut s'afficher lorsque le CLR hébergé n'est pas en cours d'utilisation et, a fortiori, lorsqu'il n'a toujours pas été initialisé. Le CLR hébergé est initialisé lorsqu'une instruction DDL (telle que CREATE ASSEMBLY (Transact-SQL)) ou un objet de base de données managé sont exécutés pour la première fois.

L'état CLR is initialized indique que le CLR hébergé a été correctement initialisé. Cela n'indique pas si l'exécution de code CLR utilisateur a été activée. Si l'exécution de code CLR utilisateur est activée puis désactivée à l'aide de la procédure stockée Transact-SQLsp_configure, la valeur de l'état est quand même CLR is initialized.

L'état CLR initialization permanently failed indique que l'initialisation du CLR hébergé a échoué. Cela est probablement dû à une insuffisance de mémoire ou à l'échec de la négociation d'hébergement entre SQL Server et le CLR. Si tel est le cas, le message d'erreur 6512 ou 6513 est déclenché.

L'état CLR is stopped state ne s'affiche que pendant l'arrêt de SQL Server.

Notes

Il se peut que les propriétés et les valeurs de cette vue soient modifiées dans une prochaine version de SQL Server dans le but d'améliorer les fonctionnalités de l'intégration CLR.

Autorisations

L'autorisation VIEW SERVER STATE est nécessaire sur le serveur.

Exemple

L'exemple suivant récupère des informations sur le CLR hébergé :

select name, value 
from sys.dm_clr_properties