sys.dm_clr_properties
更新: 2006 年 12 月 12 日
針對與 SQL Server Common Language Runtime (CLR) 整合 (包括主控 CLR 的版本和狀態) 相關的每個屬性各傳回一個資料列。您可以執行 CREATE ASSEMBLY、ALTER ASSEMBLY 或 DROP ASSEMBLY 陳述式或者任何 CLR 常式、類型或觸發程序,以初始化主控 CLR。sys.dm_clr_properties 檢視不會指出是否已在伺服器上啟用使用者 CLR 程式碼的執行。可以使用 sp_configure 預存程序且將 clr enabled 選項設定為 1,以啟用使用者 CLR 程式碼的執行。
sys.dm_clr_properties 檢視包含 name 和 value 資料行。這個檢視的每個資料列提供了有關主控 CLR 屬性的詳細資料。請使用此檢視來收集有關主控 CLR 的資訊,例如 CLR 安裝目錄、CLR 版本,以及主控 CLR 目前的狀態。此檢視可以幫助您判斷 CLR 整合程式碼是否因為伺服器電腦的 CLR 安裝發生問題而無法運作。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
name |
nvarchar(128) |
屬性的名稱。 |
value |
nvarchar(128) |
屬性的值。 |
屬性
directory 屬性指出伺服器上安裝 .NET Framework 的目錄。伺服器電腦上可能有多個 .NET Framework 安裝,而這個值可以指出 SQL Server 正在使用哪一個安裝。
version 屬性指出伺服器上的 .NET Framework 版本和主控 CLR。
sys.dm_clr_properties 動態管理檢視可以傳回六個不同的 state 屬性值,分別反映出 SQL Server 主控 CLR 的狀態。其中包括:
- 未載入 Mscoree。
- 已載入 Mscoree。
- 已利用 Mscoree 鎖定 CLR 版本。
- 已初始化 CLR。
- CLR 初始化已永久失敗。
- CLR 已停止。
「Mscoree is not loaded」和「Mscoree is loaded」狀態顯示伺服器啟動時主控 CLR 初始化的進程,較不可能出現。
在主控 CLR 未使用且因此而尚未初始化時,可能會顯示「Locked CLR version with mscoree」狀態。主控 CLR 會在第一次執行 DDL 陳述式 (例如 CREATE ASSEMBLY (Transact-SQL)) 或 Managed 資料庫物件時進行初始化。
「CLR is initialized」狀態指出已成功初始化主控 CLR。請注意,這並不會指出是否已啟用使用者 CLR 程式碼執行。如果是利用 Transact-SQL sp_configure 預存程序,先啟用使用者 CLR 程式碼,然後再加以停用,則狀態值仍會是「CLR is initialized」。
「CLR initialization permanently failed」狀態指出主控 CLR 初始化失敗。記憶體不足是可能的原因之一,或者也可能是因為 SQL Server 和 CLR 之間主控交握失敗所致。在這種情況下會發生錯誤訊息 6512 或 6513。
只有在 SQL Server 正在進行關閉程序時,才會看到「CLR is stopped state」。
備註
這個檢視的屬性和值在未來的 SQL Server 版本可能會隨著 CLR 整合功能的增強而變更。
權限
需要伺服器的 VIEW SERVER STATE 權限。
範例
下列範例會擷取有關主控 CLR 的資訊:
select name, value
from sys.dm_clr_properties
請參閱
參考
動態管理檢視和函數
Common Language Runtime 相關動態管理檢視
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 4 月 14 日 |
|
2006 年 12 月 12 日 |
|