sp_addextendedproc (Transact-SQL)
在 MicrosoftSQL Server 中,登錄新擴充預存程序的名稱。
[!附註]
未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 CLR 整合。
語法
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'