sp_addextendedproc (Transact-SQL)


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

System_CAPS_ICON_note.jpg 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.

Applies to: SQL Server (SQL Server 2008 through current version).

Topic link icon Transact-SQL Syntax Conventions

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

[ @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.

0 (success) or 1 (failure)


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.

System_CAPS_ICON_important.jpg Important

Existing DLLs that were not registered with a complete path will not work after upgrading to SQL Server 2016. To correct the problem, use sp_dropextendedproc to unregister the DLL, and then reregister it with sp_addextendedproc, specifying the complete path.

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

The following example adds the xp_hello extended stored procedure.

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

EXECUTE (Transact-SQL)
GRANT (Transact-SQL)
REVOKE (Transact-SQL)
sp_dropextendedproc (Transact-SQL)
sp_helpextendedproc (Transact-SQL)
System Stored Procedures (Transact-SQL)

Community Additions