共用方式為


SQL Server CLR 整合簡介

Common Language Runtime (CLR) 是 .NET Framework 的核心,並提供所有 .NET Framework 程式代碼的執行環境。 在 CLR 內執行的程式代碼稱為 Managed 程式代碼。 CLR 提供程式執行所需的各種功能及服務,包括 just-in-time (JIT) 編譯、配置及管理記憶體、強制使用型別安全性、例外處理、執行緒管理及安全性。

透過裝載於 MICROSOFT SQL Server 的 CLR(稱為 CLR 整合),您可以在 Managed 程式代碼中撰寫預存程式、觸發程式、使用者定義函數、使用者定義型別和使用者定義的匯總。 由於 Managed 程式代碼會在執行前編譯成機器碼,因此在某些情況下,您可以達到顯著的效能提升。

在 .NET Framework 上執行的 Managed code 會使用程式代碼存取安全性(CAS)、程式代碼連結和應用程式域,防止元件執行某些操作。 SQL Server 使用 CAS 協助保護 Managed 程式代碼,並防止作系統或資料庫伺服器遭到入侵。

備註

.NET Framework 和 .NET 的所有版本中,代碼存取安全性(CAS)已被棄用。 當使用 CAS 相關 API 時,最新版本的 .NET 不會接受 CAS 註釋,並會產生錯誤。 開發人員應該尋求替代方式來完成安全性工作。

本節旨在提供足夠的資訊,以開始使用 SQL Server CLR 整合進行程序設計,而且並非完整。 如需詳細資訊,請參閱 Common Language Runtime (CLR) 整合概觀

啟用 CLR 整合

Microsoft SQL Server 預設關閉 Common Language Runtime(CLR)整合功能,必須啟用此功能才能使用基於 CLR 整合實作的物件。 若要使用 Transact-SQL 啟用 CLR 整合,請使用預存程序的clr enabled 選項sp_configure,如下所示:

sp_configure 'clr enabled', 1  
GO  
RECONFIGURE  
GO  

您可以將 clr enabled 選項設定為 0,藉以停用 CLR 整合。 停用 CLR 整合時,SQL Server 會停止執行所有 CLR 例程,並卸除所有應用程式域。

如需詳細資訊,請參閱 啟用CLR整合

部署 CLR 程序集

在測試伺服器上測試並驗證 CLR 方法之後,就可以使用部署腳本將它們散發到實際執行伺服器。 部署腳本可以手動產生,或使用 SQL Server Management Studio。 如需更詳細的資訊,請參閱您所使用的 SQL Server 版本的相關文件。

SQL Server 文件

  1. 部署 CLR 資料庫物件

CLR(公共語言執行平台)整合安全性

Microsoft SQL Server 與 Microsoft .NET Framework Common Language Runtime (CLR) 整合的安全性模型,可管理及保護在 SQL Server 內執行之不同 CLR 和非 CLR 對象之間的存取。 這些物件可由 Transact-SQL 語句或伺服器中執行的另一個CLR物件呼叫。

如需詳細資訊,請參閱 CLR 整合安全性

偵錯 CLR 元件

Microsoft SQL Server 支援在資料庫中偵錯 Transact-SQL 和 Common Language Runtime (CLR) 物件。 偵錯可跨語言運作:使用者可以從 Transact-SQL 順暢地逐步偵錯到 CLR 物件,反之亦然。

如需詳細資訊,請參閱 偵錯 CLR 資料庫物件

另請參閱