sp_addextendedproc (Transact-SQL)
向 Microsoft SQL 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 2012 后,未使用完整路径注册的现有 DLL 将无法工作。 若要更正该问题,请使用 sp_dropextendedproc 撤消注册 DLL,然后使用 sp_addextendedproc 注册,并指定完整路径。 |
权限
只有 sysadmin 固定服务器角色的成员可以执行 sp_addextendedproc。
示例
以下示例添加 xp_hello 扩展存储过程。
USE master
GO
EXEC sp_addextendedproc xp_hello, 'c:\xp_hello.dll'
请参阅
参考
sp_dropextendedproc (Transact-SQL)