Ausführungsmerkmale erweiterter gespeicherter Prozeduren

Wichtiger HinweisWichtig

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 so bald wie möglich das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Verwenden Sie stattdessen die CLR-Integration.

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

  • Die Funktion der erweiterten gespeicherten Prozedur wird im Sicherheitskontext von MicrosoftSQL Server ausgeführt.

  • Die Funktion der erweiterten gespeicherten Prozedur wird im Prozessraum 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.

    SicherheitshinweisSicherheitshinweis

    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 der erweiterten gespeicherten Prozedur geladen ist, bleibt sie im Adressraum des Servers geladen, bis SQL Server beendet wird, oder der Administrator sie mithilfe des Befehls DBCC DLL_name (FREE) explizit entlädt.

Die erweiterte gespeicherte Prozedur kann in Transact-SQL mithilfe der EXECUTE-Anweisung 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.

    VorsichtshinweisVorsicht

    Erweiterte gespeicherte Prozeduren bieten Leistungssteigerungen und erweitern die Funktionalität von SQL Server. Da die DLLs der erweiterten gespeicherten Prozeduren und SQL Server jedoch denselben Adressraum nutzen, kann sich eine problematische Prozedur negativ auf die Funktionsweise von SQL Server auswirken. Von DLLs erweiterter gespeicherter Prozeduren ausgelöste Ausnahmen werden zwar von SQL Server behandelt; es ist jedoch trotzdem möglich, dass SQL Server-Datenbereiche beschädigt werden. 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.