sys.dm_clr_properties (Transact-SQL)

Vztahuje se na:SQL ServerAzure SQL Managed Instance

Vrátí řádek pro každou vlastnost související s integrací běžného běhu v běžném jazyce SQL Server (CLR), včetně verze a stavu hostovaného CLR. Hostovaný CLR je inicializován spuštěním příkazů CREATE ASSEMBLY, ALTER ASSEMBLY, nebo DROP ASSEMBLY nebo vykonáním libovolné CLR rutiny, typu nebo spouštěče. Pohled sys.dm_clr_properties nespecifikuje, zda bylo na serveru povoleno vykonávání uživatelského CLR kódu. Provádění uživatelského CLR kódu je povoleno použitím uložené procedury sp_configure s možností povolenou clr nastavenou na 1.

Pohled sys.dm_clr_properties obsahuje sloupce jména a hodnoty . Každý řádek v tomto pohledu poskytuje podrobnosti o vlastnosti hostovaného CLR. Použijte tento pohled k získání informací o hostovaném CLR, jako je instalační adresář CLR, verze CLR a aktuální stav hostovaného CLR. Tento pohled vám může pomoci určit, zda integrační kód CLR nefunguje kvůli problémům s instalací CLR na serverovém počítači.

Název sloupce Datový typ Description
name nvarchar(128) Název vlastnosti
hodnota nvarchar(128) Hodnota vlastnosti

Properties

Vlastnost adresáře označuje adresář, do kterého byl .NET Framework na serveru nainstalován. Na serverovém počítači může být instalováno více .NET Framework a hodnota této vlastnosti určuje, kterou instalaci SQL Server používá.

Vlastnost verze označuje verzi .NET Frameworku a hostovaného CLR na serveru.

sys.dm_clr_properties dynamický spravovaný pohled může vracet šest různých hodnot pro vlastnost stavu, což odráží stav SQL Server hostovaného CLR. Mezi ně patří:

  • Mscoree není naložený.

  • Mscoree je bohatý.

  • Uzamčená verze CLR s mscoree.

  • CLR je inicializován.

  • Inicializace CLR trvale selhala.

  • CLR je zastaven.

Stavy Mscoree nejsou načteny a Mscoree je načtený , ukazují postup inicializace hostovaného CLR při spuštění serveru a pravděpodobně nejsou vidět.

Verze Locked CLR se stavem mscoree může být vidět tam, kde hostovaný CLR není používán a tedy ještě nebyl inicializován. Hostovaný CLR je inicializován při prvním spuštění DDL příkazu (například CREATE ASSEMBLY (Transact-SQL)) nebo spravovaného databázového objektu.

Stav inicializace CLR znamená, že hostovaný CLR byl úspěšně inicializován. Všimněte si, že to neznamená, zda bylo zapnuto vykonávání uživatelského CLR kódu. Pokud je spuštění uživatelského CLR kódu nejprve povoleno a poté deaktivováno pomocí Transact-SQL sp_configure uložené procedury, hodnota stavu bude stále CLR inicializována.

Trvale neúspěšný stav inicializace CLR znamená, že selhala hostovaná inicializace CLR. Pravděpodobnou příčinou je tlak na paměť, nebo může být také důsledkem selhání hostování mezi SQL Server a CLR. V takovém případě se zobrazí chybová zpráva 6512 nebo 6513.

Stav CLR je zastaven je viditelný pouze tehdy, když je SQL Server v procesu vypínání.

Poznámky

Vlastnosti a hodnoty tohoto pohledu se mohou v budoucí verzi SQL Server změnit kvůli vylepšením integračních funkcí CLR.

Povolení

Na SQL Serveru a spravované instanci SQL vyžaduje VIEW SERVER STATE oprávnění.

U služby SQL Database Basic, S0a S1 a pro databáze v elastických fondech, účet správce serveru serveru, účet správce Microsoft Entra nebo členství v roli ##MS_ServerStateReader##serveru. U všech ostatních cílů služby SQL Database se vyžaduje buď oprávnění VIEW DATABASE STATE k databázi, nebo členství v roli serveru ##MS_ServerStateReader##.

Oprávnění pro SQL Server 2022 a novější

Vyžaduje VIEW oprávnění SERVER PERFORMANCE STATE na serveru.

Examples

Následující příklad získává informace o hostovaném CLR:

SELECT name, value   
FROM sys.dm_clr_properties;