Ausführungsmerkmale erweiterter gespeicherter Prozeduren

Gilt für:SQL Server

Wichtig

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.

Die Ausführung einer erweiterten gespeicherten Prozedur weist folgende Merkmale auf:

  • Die erweiterte gespeicherte Prozedurfunktion wird unter dem Sicherheitskontext von Microsoft SQL Server ausgeführt.

  • Die erweiterte gespeicherte Prozedurfunktion wird im Prozessbereich von SQL Server ausgeführt.

  • Der mit der Ausführung der erweiterten gespeicherten Prozedur verknüpfte Thread ist derselbe wie derjenige, der für die Clientverbindung verwendet wird.

    Wichtig

    Bevor der Systemadministrator die erweiterte gespeicherte Prozedur dem Server hinzufügt und Benutzern Berechtigungen zum Ausführen der Prozedur gewährt, sollte er die Prozedur gründlich überprüfen, um sicherzustellen, dass sie keinen schädlichen oder bösartigen Code enthält.

  • Nachdem die dll-Datei für die erweiterte gespeicherte Prozedur geladen wurde, werden die DLL erneut Standard in den Adressraum des Servers geladen, bis SQL Server beendet wird oder der Administrator die DLL explizit mit DBCC DLL_name (FREE) entlädt.

    Die erweiterte gespeicherte Prozedur kann mithilfe der EXECUTE-Anweisung aus Transact-SQL als gespeicherte Prozedur ausgeführt werden:

EXECUTE @retval = xp_extendedProcName @param1, @param2 OUTPUT  

Parameter

@ retval
Ein Rückgabewert.

@ param1
Ein Eingabeparameter.

@ param2
Ein Eingabe-/Ausgabeparameter.

Achtung

Erweiterte gespeicherte Prozeduren bieten Leistungsverbesserungen und erweitern die SQL Server-Funktionalität. Da jedoch die erweiterte gespeicherte Prozedur DLL und SQL Server den gleichen Adressraum gemeinsam haben, kann eine Problemprozedur die Funktionsweise von SQL Server beeinträchtigen. Obwohl Ausnahmen, die von der erweiterten gespeicherten Prozedur-DLL ausgelöst werden, von SQL Server behandelt werden, ist es möglich, SQL Server-Datenbereiche zu beschädigen. Als Sicherheitsvorkehrung können nur SQL Server-Systemadministratoren erweiterte gespeicherte Prozeduren zu SQL Server hinzufügen. Diese Prozeduren sollten vor der Installation gründlich getestet werden.

Weitere Informationen

Programmieren erweiterter gespeicherter Prozeduren
Abfragen von in SQL Server installierten erweiterten gespeicherten Prozeduren