sp_addextendedproc (Transact-SQL)

Gilt für:SQL Server

Registriert den Namen einer neuen erweiterten gespeicherten Prozedur für SQL Server.

Hinweis

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Verwenden Sie stattdessen die CLR-Integration.

Transact-SQL-Syntaxkonventionen

Syntax

sp_addextendedproc
    [ @functname = ] N'functname'
    , [ @dllname = ] 'dllname'
[ ; ]

Argumente

[ @functname = ] N'functname'

Der Name der Funktion, die in der Dynamic Link Library (DLL) aufgerufen werden soll. @functname ist nvarchar(517) ohne Standard. @functname kann optional den Besitzernamen in das Formular <owner.function>einschließen.

[ @dllname = ] 'dllname'

Der Name der DLL, die die Funktion enthält. @dllname ist varchar(255) ohne Standard. Sie sollten den vollständigen Pfad der DLL angeben.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Resultset

Keine.

Hinweise

Nachdem eine erweiterte gespeicherte Prozedur erstellt wurde, muss sie mithilfe sp_addextendedprocvon SQL Server 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 aus einer anderen Datenbank als masterauszuführen, qualifizieren Sie den Namen der erweiterten gespeicherten Prozedur mit master.

sp_addextendedproc fügt der Sys.objects-Katalogansicht Einträge hinzu, wobei der Name der neuen erweiterten gespeicherten Prozedur mit SQL Server registriert wird. Außerdem wird ein Eintrag in der sys.extended_procedures Katalogansicht hinzugefügt.

Wichtig

Vorhandene DLLs, die nicht mit einem vollständigen Pfad registriert sind, funktionieren nach dem Upgrade auf SQL Server nicht. Verwenden Sie sp_dropextendedproc zum Beheben des Problems die Registrierung der DLL, und registrieren Sie sie dann erneut, sp_addextendedprocund geben Sie den vollständigen Pfad an.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin können ausgeführt werden sp_addextendedproc.

Beispiele

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

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