sp_addextendedproc (Transact-SQL)

适用范围:SQL Server

将新的扩展存储过程的名称注册到 SQL Server。

注意

在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 公共语言运行时 (CLR) 集成

Transact-SQL 语法约定

语法

sp_addextendedproc
    [ @functname = ] N'functname'
    , [ @dllname = ] 'dllname'
[ ; ]

参数

[ @functname = ] N'functname'

在动态链接库 (DLL) 中调用的函数的名称。 @functname为 nvarchar(517),无默认值。 @functname可以选择在窗体<owner.function>中包含所有者名称。

[ @dllname = ] 'dllname'

包含函数的 DLL 的名称。 @dllname为 varchar(255),没有默认值。 应指定 DLL 的完整路径。

返回代码值

0(成功)或 1(失败)。

结果集

无。

注解

创建扩展存储过程后,必须使用 将其添加到 SQL Server sp_addextendedproc。 有关详细信息,请参阅 将扩展存储过程添加到 SQL Server

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

sp_addextendedproc 将条目添加到 sys.objects 目录视图,向 SQL Server 注册新的扩展存储过程的名称。 它还在sys.extended_procedures目录视图中添加一个条目

重要

升级到 SQL Server 后,未向完整路径注册的现有 DLL 不起作用。 若要更正此问题,请使用 sp_dropextendedproc 取消注册 DLL,然后使用它重新注册, sp_addextendedproc并指定完整路径。

权限

只有 sysadmin 固定服务器角色的成员才能执行sp_addextendedproc

示例

以下示例添加 xp_hello 扩展存储过程。

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