sp_addextendedproc (Transact-SQL)
适用范围:SQL Server
将新的扩展存储过程的名称注册到 SQL Server。
注意
在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 公共语言运行时 (CLR) 集成 。
语法
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
数据库中运行。 若要从数据库中执行扩展存储过程,请使用 <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';