Freigeben über


Verfügbarmachen der Programmierbarkeit von SQL im Web

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.

Wenn Sie HTTP SOAP-Endpunkte erstellen oder aktualisieren, können gespeicherte Prozeduren oder benutzerdefinierte Funktionen selektiv als Webmethoden verfügbar gemacht werden. Webmethoden sind vorhandene gespeicherte Prozeduren oder benutzerdefinierte Funktionen, die bereits mithilfe der geeigneten Transact-SQL-Anweisung erstellt wurden, z. B. mit CREATE PROCEDURE für eine gespeicherte Prozedur oder mit CREATE FUNCTION für eine benutzerdefinierte Funktion, und die für Webzugriff über den Endpunkt definiert wurden.

Nachdem eine gespeicherte Prozedur oder benutzerdefinierte Funktion auf dem Server erstellt wurde, kann sie anschließend als Webmethode mithilfe der DDL-Anweisungen des Endpunktes (CREATE ENDPOINT oder ALTER ENDPOINT) öffentlich verfügbar gemacht werden.

HinweisHinweis

Es werden keine benutzerdefinierten Funktionen, die Tabellenwerte zurückgeben, unterstützt.

Richtlinien für Parameternamen und Einschränkungen für Webmethoden

Gemäß den Benennungsregeln für SQL Server müssen die Namen von Parametern, die in benutzerdefinierten Funktionen oder gespeicherten Prozeduren verwendet werden, ordnungsgemäß formatiert sein. Weitere Informationen finden Sie unter Verwenden von Bezeichnern als Objektnamen und Angeben eines Parameternamens.

Manchmal sind bestimmte Arten von als veraltet markierten Benennungskonventionen für die Namen von benutzerdefinierten Funktionen oder gespeicherten Prozeduren zulässig, die für die Verwendung mit systemeigenem XML-Webdienstezugriff nicht geeignet sind. Beispielsweise sind die folgenden Parameternamen, die gemäß den Parameterbenennungsregeln von SQL Server zulässig sind, jedoch als veraltet markiert sind, nicht zulässig, wenn die benutzerdefinierte Funktion oder gespeicherte Prozedur als Webmethode verfügbar gemacht wird:

@

@@

@@this_is_not_a_global

Damit das Verfügbarmachen über systemeigenen XML-Webdienstezugriff ermöglicht wird, müssen diese als veraltet markierten Parameternamen für die angeforderte Prozedur oder Funktion geändert werden, damit Parameter bereitgestellt und verwendet werden, die Standardnamen in der Form @param aufweisen.

Verfügbarmachen gespeicherter Systemprozeduren

In SQL Server können gespeicherte Systemprozeduren zum Durchführen verschiedener Informations- und Verwaltungsaktivitäten verwendet werden. Manchmal sollen diese Prozeduren als Webdienstmethoden verfügbar gemacht werden, auf die über HTTP-Endpunkte zugegriffen werden kann.

Alle gespeicherten Systemprozeduren werden in der Systemressourcen-Datenbank gespeichert, aber nicht alle gespeicherten Systemprozeduren verfügen über Metadateninformationen, mit denen servergenerierte WSDL-Antworten (Web Service Description Language) das richtige Schema verfügbar machen können. Dieser Umstand kann zu Situationen führen, in denen einige gespeicherte Systemprozeduren nicht wie erwartet funktionieren, wenn sie für einen HTTP-Endpunkt verfügbar gemacht werden.

Wenn Sie beabsichtigen, gespeicherte Systemprozeduren als Teil Ihrer eigenen, benutzerdefinierten SQL Server-Verwaltungslösung verfügbar zu machen, können Sie die folgenden alternativen Vorgehensweisen verwenden. Mit diesen können Sie Situationen umgehen, in denen der Zugriff eine bestimmte gespeicherte Systemprozedur nicht ermöglicht werden kann.

  • Versuchen Sie zuerst zum Zweck der einfachen, nicht rekursiven Verwendung von gespeicherten Systemprozeduren, Ihre eigenen benutzerdefinierten gespeicherten Prozeduren zu erstellen, um die gespeicherte Systemprozedur, die für einen HTTP-Endpunkt verfügbar gemacht werden soll, in diese einzuschließen.

  • Wenn sich die oben genannte Vorgehensweise als zu komplex oder schwer verwaltbar erweist, weil Sie geschachtelte Aufrufe mehrerer gespeicherter Prozeduren verwenden, ziehen Sie als zweiten Schritt das Verwenden der sqlbatch-Methode als Umgehung in Betracht. Ein Beispiel für die Verwendung von sqlbatch finden Sie unter Struktur der SOAP-Anforderungsnachricht.