sp_addextendedproc (Transact-SQL)

向 Microsoft SQL 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 2012 后,未使用完整路径注册的现有 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)