Redigera

Dela via


sp_addextendedproc (Transact-SQL)

Applies to: SQL Server

Registers the name of a new extended stored procedure to SQL Server.

Note

This feature will be removed in a future version of SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use Common language runtime (CLR) integration instead.

Transact-SQL syntax conventions

Syntax

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

Arguments

[ @functname = ] N'functname'

The name of the function to call within the dynamic-link library (DLL). @functname is nvarchar(517), with no default. @functname optionally can include the owner name in the form <owner.function>.

[ @dllname = ] 'dllname'

The name of the DLL that contains the function. @dllname is varchar(255), with no default. You should specify the complete path of the DLL.

Return code values

0 (success) or 1 (failure).

Result set

None.

Remarks

After an extended stored procedure is created, it must be added to SQL Server by using sp_addextendedproc. For more information, see Adding an Extended Stored Procedure to SQL Server.

This procedure can be run only in the master database. To execute an extended stored procedure from a database other than master, qualify the name of the extended stored procedure with master.

sp_addextendedproc adds entries to the sys.objects catalog view, registering the name of the new extended stored procedure with SQL Server. It also adds an entry in the sys.extended_procedures catalog view.

Important

Existing DLLs that aren't registered with a complete path don't work after upgrading to SQL Server. To correct the problem, use sp_dropextendedproc to unregister the DLL, and then reregister it with sp_addextendedproc, specifying the complete path.

Permissions

Only members of the sysadmin fixed server role can execute sp_addextendedproc.

Examples

The following example adds the xp_hello extended stored procedure.

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