sp_addextendedproc (Transact-SQL)

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

Note

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use CLR Integration instead.

Topic link iconTransact-SQL Syntax Conventions

Syntax

sp_addextendedproc [ @functname = ] 'procedure' , 
     [ @dllname = ] 'dll'

Arguments

  • [ @functname = ] 'procedure'
    Is the name of the function to call within the dynamic-link library (DLL). procedure is nvarchar(517), with no default. procedure optionally can include the owner name in the form owner.function.

  • [ @dllname = ] 'dll'
    Is the name of the DLL that contains the function. dll is varchar(255), with no default. It is recommended that you specify the complete path of the DLL.

Return Code Values

0 (success) or 1 (failure)

Result Sets

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 were not registered with a complete path will not work after upgrading to SQL Server 2008. 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'