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 (Common Language Runtime).
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_addextendedproc
von 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 master
auszufü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_addextendedproc
und 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';