Share via


sp_addextendedproc (Transact-SQL)

在 MicrosoftSQL Server 中,登錄新擴充預存程序的名稱。

[!附註]

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

主題連結圖示Transact-SQL 語法慣例

語法

sp_addextendedproc [ @functname = ] 'procedure' , 
     [ @dllname = ] 'dll'

引數

  • [@functname = ] 'procedure'
    這是在動態連結程式庫 (DLL) 內所要呼叫的函數名稱。procedure 是 nvarchar(517),沒有預設值。procedure 可以選擇性地包括擁有者名稱,格式為 owner.function。

  • [@dllname = ] 'dll'
    這是包含這個函數的 DLL 名稱。dll 是 varchar(255),沒有預設值。建議您指定 DLL 的完整路徑。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

備註

建立好擴充預存程序之後,您必須利用 sp_addextendedproc,將它加入 SQL Server 中。如需詳細資訊,請參閱<將擴充預存程序加入至 SQL Server>。

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

sp_addextendedproc 會將項目加入 sys.objects 目錄檢視中,在 SQL Server 中登錄新擴充預存程序的名稱。另外,它也會在 sys.extended_procedures 目錄檢視中加入一個項目。

重要注意事項重要事項

在升級到 SQL Server 2008 之後,沒有用完整路徑來登錄的現有 DLL 無法運作。若要更正這個問題,請利用 sp_dropextendedproc 來取消登錄 DLL,再利用 sp_addextendedproc 並指定完整路徑來重新登錄它。

權限

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

範例

下列範例會加入 xp_hello 擴充預存程序。

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