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 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';