Registers the name of a new extended stored procedure to Microsoft SQL Server.
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).|
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.
Return Code Values
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.
Existing DLLs that were not registered with a complete path will not work after upgrading to SQL Server 2017. 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; GO EXEC sp_addextendedproc xp_hello, 'c:\xp_hello.dll';