sp_addextendedproc (Transact-SQL)

適用於:SQL Server

向 SQL Server 註冊新的擴充預存程式名稱。

注意

SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 CLR 整合

Transact-SQL 語法慣例

語法

sp_addextendedproc
    [ @functname = ] N'functname'
    , [ @dllname = ] 'dllname'
[ ; ]

引數

[ @functname = ] N'functname'

在動態連結庫 (DLL) 內呼叫的函式名稱。 @functname為 nvarchar(517),沒有預設值。 @functname可以選擇性地在 表單<owner.function>中包含擁有者名稱。

[ @dllname = ] 'dllname'

包含函式的 DLL 名稱。 @dllname為 varchar(255),沒有預設值。 您應該指定 DLL 的完整路徑。

傳回碼值

0 (成功) 或 1 (失敗)。

結果集

無。

備註

建立擴充預存程式之後,必須使用 將它新增至 SQL Server sp_addextendedproc。 如需詳細資訊,請參閱 將擴充預存程式新增至 SQL Server

此程式只能在 master 資料庫中執行。 若要從 以外的 master資料庫執行擴充預存程式,請使用 限定擴充預存程式 master的名稱。

sp_addextendedproc 將專案新增至 sys.objects 目錄檢視,向 SQL Server 註冊新的擴充預存程式名稱。 它也會在sys.extended_procedures目錄檢視中新增專案。

重要

升級至 SQL Server 之後,未向完整路徑註冊的現有 DLL 將無法運作。 若要更正問題,請使用 sp_dropextendedproc 來取消註冊 DLL,然後使用 來重新註冊它 sp_addextendedproc,並指定完整路徑。

權限

只有系統管理員固定伺服器角色的成員才能執行 sp_addextendedproc

範例

下列範例會 xp_hello 新增擴充預存程式。

USE master;
GO
EXEC sp_addextendedproc xp_hello, 'c:\xp_hello.dll';