共用方式為


sp_addextendedproc (Transact-SQL)

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

ms188379.note(zh-tw,SQL.90).gif附註:
未來的 Microsoft SQL Server 發行版本將不再提供此功能。請避免在新的開發工作中使用此功能,並計劃修改目前使用此功能的應用程式。 請改用 CLR 整合

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

語法

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

引數

[ @functname = ] 'procedure'

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

[ @dllname = ] 'dll'

這是包含這個函數的 DLL 名稱。dllvarchar(255),沒有預設值。建議您指定 DLL 的完整路徑。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

備註

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

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

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

ms188379.note(zh-tw,SQL.90).gif重要事項:
在升級到 SQL Server 2005 之後,沒有用完整路徑來登錄的現有 DLL 無法運作。若要更正這個問題,請利用 sp_dropextendedproc 來取消登錄 DLL,再利用 sp_addextendedproc 並指定完整路徑來重新登錄它。

權限

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

範例

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

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

請參閱

參考

EXECUTE (Transact-SQL)
GRANT (Transact-SQL)
REVOKE (Transact-SQL)
sp_dropextendedproc (Transact-SQL)
sp_helpextendedproc (Transact-SQL)
系統預存程序 (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助