Share via


支援的 .NET Framework 程式庫

使用裝載在 SQL Server 中的 Common Language Runtime (CLR) ,您可以在 Managed 程式碼中撰寫預存程式、觸發程式、使用者定義函數、使用者定義類型和使用者定義匯總。 藉由 .NET Framework 類別庫所提供的功能,您可以存取預先建立的類別,這些類別可提供字串操作、進階數學運算、檔案存取、加密等多項功能。 您可以透過任何 Managed 預存程序、使用者定義型別、觸發程序、使用者定義函數或使用者定義彙總來存取這些類別。

注意

如果您在全域組件快取中服務或升級不支援的元件, (GAC) ,您的SQL Server。 如果元件同時存在於SQL Server CLR 整合中。 如果您服務或升級也已在資料庫中註冊的 GAC 中的任何元件,包括不支援的.NET Framework元件,請務必使用 語句來服務或升級SQL Server資料庫中 ALTER ASSEMBLY 的元件複本。 如需詳細資訊,請參閱 知識庫文章 949080

支援的程式庫

從SQL Server開始,有一份支援的.NET Framework程式庫清單,這些程式庫已經過測試,以確保它們符合與SQL Server互動的可靠性和安全性標準,直接從全域組件快取 (GAC) 載入它們。

SQL Server中 CLR 整合所支援的程式庫/命名空間如下:

  • CustomMarshalers

  • Microsoft.VisualBasic

  • Microsoft.VisualC

  • mscorlib

  • 系統

  • System.Configuration

  • System.Data

  • System.Data.OracleClient

  • System.Data.SqlXml

  • System.Deployment

  • System.Security

  • System.Transactions

  • System.Web.Services

  • System.Xml

  • System.Core.dll

  • System.Xml.Linq.dll

不支援的程式庫

不支援的程式庫仍可以從 Managed 預存程序、觸發程序、使用者定義函數、使用者定義型別和使用者定義彙總加以呼叫。 您必須先在SQL Server資料庫中使用 CREATE ASSEMBLY 語句來註冊不支援的程式庫,才能在程式碼中使用。 為了確保安全性和可靠性,任何在伺服器上註冊及執行的不支援程式庫都應該經過檢閱和測試。

例如,System.DirectoryServices 命名空間並不受支援。 您必須使用 UNSAFE 權限註冊 System.DirectoryServices.dll 組件,才能從程式碼中加以呼叫。 UNSAFE 權限是必要的,因為 System.DirectoryServices 命名空間中的類別並不符合 SAFEEXTERNAL_ACCESS 的需求。 如需詳細資訊,請參閱 CLR 整合程式設計模型限制CLR 整合程式碼存取安全性

另請參閱

建立組件
CLR 整合程式碼存取安全性
CLR 整合程式設計模型限制