Freigeben über


sp_addextendedproc (Transact-SQL)

Registriert den Namen einer neuen erweiterten gespeicherten Prozedur in Microsoft SQL Server.

HinweisHinweis

Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Verwenden Sie stattdessen die CLR-Integration.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @functname = ] 'procedure'
    Der Name der Funktion, die innerhalb einer Dynamic Link Library (DLL) aufgerufen werden soll. procedure ist vom Datentyp nvarchar(517) und hat keinen Standard. procedure kann optional den Namen des Besitzers im Format owner.function enthalten.

  • [ @dllname = ] 'dll'
    Der Name der DLL, die die Funktion enthält. dll ist vom Datentyp varchar(255) und hat keinen Standard.Es ist empfehlenswert, den vollständigen Pfad der DLL anzugeben.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Hinweise

Nachdem eine erweiterte gespeicherte Prozedur erstellt wurde, muss sie SQL Server mithilfe von sp_addextendedproc hinzugefügt werden. Weitere Informationen finden Sie unter Hinzufügen einer erweiterten gespeicherten Prozedur zu SQL Server.

Diese Prozedur kann nur in der master-Datenbank ausgeführt werden. Um eine erweiterte gespeicherte Prozedur von einer anderen als der master-Datenbank aus auszuführen, qualifizieren Sie den Namen der erweiterten gespeicherten Prozedur mit master.

sp_addextendedproc fügt der sys.objects-Katalogsicht Einträge hinzu und registriert den Namen der neuen erweiterten gespeicherten Prozedur in SQL Server. Außerdem wird in der sys.extended_procedures-Katalogsicht ein Eintrag hinzugefügt.

Wichtiger HinweisWichtig

Vorhandene DLLs, die nicht mit einem vollständigen Pfad registriert wurden, sind nach dem Update auf SQL Server 2008 nicht mehr funktionsfähig. Verwenden Sie zum Beheben des Problems sp_dropextendedproc, um die Registrierung der DLL aufzuheben. Registrieren Sie sie dann mit sp_addextendedproc unter Angabe des vollständigen Pfades erneut.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin können sp_addextendedproc ausführen.

Beispiele

Im folgenden Beispiel wird die erweiterte gespeicherte Prozedur xp_hello hinzugefügt.

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