Condividi tramite


sp_addextendedproc (Transact-SQL)

Registra il nome di una nuova stored procedure estesa in MicrosoftSQL Server.

[!NOTA]

Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Utilizzare l'integrazione con CLR in alternativa.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • [ @functname = ] 'procedure'
    Nome della funzione da chiamare all'interno della libreria di collegamento dinamico (DDL, Dynamic-Link Library). procedure è di tipo nvarchar(517) e non prevede alcun valore predefinito. procedure può includere facoltativamente il nome del proprietario nel formato owner.function.

  • [ @dllname = ] 'dll'
    Nome della DLL che contiene la funzione. dll è di tipo varchar(255) e non prevede alcun valore predefinito. È consigliabile specificare il percorso completo della DLL.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

Nessuno

Osservazioni

Dopo avere creato una stored procedure estesa, è necessario aggiungerla in SQL Server tramite sp_addextendedproc. Per ulteriori informazioni, vedere Aggiunta di una stored procedure estesa a SQL Server.

Questa procedura può essere eseguita solo nel database master. Per eseguire una stored procedure estesa in un database diverso da quello master, qualificare il nome della stored procedure estesa con master.

sp_addextendedproc aggiunge alcune voci nella vista del catalogo sys.objects per registrare il nome della nuova stored procedure estesa in SQL Server. Inoltre, aggiunge una voce nella vista del catalogo sys.extended_procedures.

Nota importanteImportante

Le DLL esistenti non registrate con un percorso completo non funzionano dopo l'aggiornamento a SQL Server 2008. Per correggere il problema, utilizzare sp_dropextendedproc per annullare la registrazione della DLL e quindi sp_addextendedproc per registrarla di nuovo specificando il percorso completo.

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin possono eseguire sp_addextendedproc.

Esempi

Nell'esempio seguente viene aggiunta la stored procedure estesa xp_hello.

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