共用方式為


建立 CLR 函數

在 SQL Server 2005 中,您可以在 SQL Server 的執行個體內部建立資料庫物件,這些物件是透過使用 Microsoft .NET Framework Common Language Runtime (CLR) 來建立的組件來撰寫。可以利用 Common Language Runtime 所提供的豐富程式設計模型的資料庫物件,包含彙總函數、函數、預存程序、觸發程序以及類型。

在 SQL Server 中建立 CLR 函數包含下列步驟:

  • 以 .NET Framework 支援的語言,將函數定義成類別的靜態方法。如需如何以 Common Language Runtime 設計函數的詳細資訊,請參閱<CLR User-Defined Functions>。然後,使用適當的語言編譯器編譯類別,在 .NET Framework 中建立組件。
  • 使用 CREATE ASSEMBLY 陳述式在 SQL Server 中登錄組件。如需有關 SQL Server 中組件的詳細資訊,請參閱<組件 (Database Engine)>。
  • 使用 CREATE FUNCTION 陳述式參考註冊組件的函數。
ms189876.note(zh-tw,SQL.90).gif附註:
在 Microsoft Visual Studio 中部署 SQL Server 專案,便會在已指定給專案的資料庫中註冊組件。部署專案也會在資料庫中,為所有以 SqlFunction 屬性註解的方法建立 CLR 函數。如需詳細資訊,請參閱<Deploying CLR Database Objects>。
ms189876.note(zh-tw,SQL.90).gif附註:
SQL Server 執行 CLR 程式碼的功能預設為關閉。您可以建立、改變和卸除參考 Managed 程式碼模組的資料庫物件,但是除非使用 sp_configure (Transact-SQL) 啟用 clr enabled 選項,否則這些參考在 SQL Server 中不會執行。

存取外部資源

CLR 函數可用以存取外部資源,例如,檔案、網路資源、Web Service、其他資料庫 (包含 SQL Server 的遠端執行個體)。這可透過使用 .NET Framework 中的各種類別來達成,例如 System.IOSystem.WebServicesSystem.Sql 等等。包含這類函數的組件應該至少使用 EXTERNAL_ACCESS 權限來設定才能達成此目的。如需詳細資訊,請參閱<CREATE ASSEMBLY (Transact-SQL)>。SQL Client Managed Provider 可用以存取 SQL Server 的遠端執行個體。不過,在 CLR 函數中不支援回送連接到原始伺服器。

若要建立、修改或卸除 SQL Server 中的組件

若要建立 CLR 函數

請參閱

概念

建立使用者自訂函數 (Database Engine)
建立使用者自訂彙總
執行使用者自訂函數 (Database Engine)
檢視使用者自訂函數

其他資源

Database Engine .NET Framework Programming

說明及資訊

取得 SQL Server 2005 協助