2010年4月7日 星期三

SQL Server CLR 整合簡介

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

利用 Microsoft SQL Server 中裝載的 CLR (稱為 CLR 整合),您能夠以 Managed 程式碼撰寫預存程序、觸發程序、使用者定義函式、使用者定義型別及使用者定義彙總。因為 Managed 程式碼在執行前會編譯成原生程式碼,所以在部分案例中可大幅提升效能。

Managed 程式碼使用程式碼存取安全性 (CAS)、程式碼連結及應用程式網域,來防止組件執行某些作業。SQL Server 2005 使用 CAS 來協助保護 Managed 程式碼,並防止損害作業系統或資料庫伺服器。

CLR 整合的優點
Transact-SQL 是專為在資料庫中直接存取及操作資料而設計。儘管 Transact-SQL 擅長資料存取及管理,但它並不具有可簡化資料操作及計算的程式設計建構。例如,Transact-SQL 不支援陣列、集合、for-each 迴圈、位元移位或類別。在 Transact-SQL 中可模擬其中的部分建構,而 Managed 程式碼具有這些建構的整合支援。根據案例的不同,可能因為這些功能而必須在 Managed 程式碼中實作特定資料庫功能。

Microsoft Visual Basic .NET 及 Microsoft Visual C# 提供物件導向功能,如封裝、繼承及多型。現在可將相關程式碼輕鬆組成類別及命名空間。當使用大量伺服器程式碼時,這可讓您更方便地組織及維護程式碼。

Managed 程式碼比 Transact-SQL 更適合於計算及複雜執行邏輯,並具有對許多複雜工作的廣泛支援,包括字串處理及規則運算式。利用 .NET Framework 程式庫中的功能,您可以存取成千上萬預先建置的類別及常式。可透過任意預存程序、觸發程序或使用者定義函式輕鬆存取這些項目。基底類別庫 (BCL) 中包含的類別可提供字串操作、進階數學運算、檔案存取、加密等多項功能。

完整說明及操作
SQL Server CLR 整合簡介

沒有留言:

張貼留言