sp_addextendedproc (Transact-SQL)

向 Microsoft SQL Server 注册新扩展存储过程的名称。

ms188379.note(zh-cn,SQL.90).gif注意:
后续版本的 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。有关详细信息,请参阅Adding an Extended Stored Procedure to SQL Server

此过程只能在 master 数据库中运行。若要从非 master 数据库中执行扩展存储过程,请使用 master 限定扩展存储过程的名称。

sp_addextendedproc 将项添加到 sys.objects 目录视图中,并向 SQL Server 注册新扩展存储过程名称。同样也在 sys.extended_procedures 目录视图中添加一项。

ms188379.note(zh-cn,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 帮助