Udostępnij za pośrednictwem


Narażania programowania SQL w sieci Web

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Podczas tworzenia lub aktualizowania punktów końcowych protokołu SOAP protokołu HTTP, przechowywane procedury lub funkcje zdefiniowane przez użytkownika może być selektywnie udostępniany jako Metody sieci Web.Metody sieci Web są istniejące procedura przechowywana lub funkcja zdefiniowanej przez użytkownika, które zostały już utworzone za pomocą odpowiednich Transact-SQL Instrukcja, takie jak CREATE PROCEDURE dla procedura przechowywana lub CREATE funkcja dla funkcja zdefiniowanej przez użytkownika oraz że są definiowane dla dostępu do sieci Web za pomocą punktu końcowego.

Po procedura przechowywana lub zdefiniowanej przez użytkownika została utworzona na serwerze, go mogą następnie być publicznie udostępniany jako metoda sieci Web przy użyciu punktu końcowego instrukcje DDL, CREATE punktu KOŃCOWEGO lub ALTER punktu KOŃCOWEGO.

Uwaga

Funkcje zdefiniowane przez użytkownika wartości tabela nie są obsługiwane.

Parametr nazewnictwa zasady i ograniczenia dla metody sieci Web

Zgodnie z regułami nazewnictwa dla SQL Server, parametry, które są używane w zdefiniowanej przez użytkownika funkcje i procedury przechowywane musi mieć poprawnie sformatowany nazwy. Aby uzyskać więcej informacji zobacz Za pomocą polecenia identyfikatory jako nazwy obiektów i Specifying a Parameter Name.

Czasami niektórych rodzajów przestarzałe konwencje nazewnictwa są dozwolone w przypadku funkcji zdefiniowanych przez użytkownika i nazwy procedura przechowywana, które nie mogą być stosowane dla należy użyć dostępu macierzysty usług XML sieci Web.Nazwy parametrów, które są dozwolone przez SQL Server Parametr nazwy reguły, ale zostały zastąpiona i niedozwolony, gdy funkcja zdefiniowana przez użytkownika lub procedura przechowywana jest dostępny jako metoda sieci Web mogą być następujące:

@

@@

@@ this_is_not_a_global

Aby zezwolić na narażenia poprzez dostęp macierzysty usług XML sieci Web, należy zmodyfikować tych nazw parametrów przestarzałe dla żądanej procedury lub funkcja w celu umożliwienia parametry, które mają nazwy standardowego formularza @ parametrów ma być używany.

Narażania procedury składowane w systemie

W SQL Server, procedury składowane w systemie może służyć do wykonywania wielu czynności informacyjne i administracyjnych. Czasami można udostępnić te procedury jako metody usługa sieci Web, które mogą być udostępniane za pośrednictwem protokołu HTTP punkty końcowe.

Wszystkie procedury zapisanej w systemie są przechowywane w systemie Zasób bazy danych, ale nie wszystkie procedury składowane w systemie ma informacje metadane umożliwiająca generowanych przez serwer odpowiedzi języka Web usługa Description Language (WSDL) do udostępnienia poprawnego schematu.To może prowadzić do sytuacji, w których niektóre procedury składowane w systemie nie działają zgodnie z oczekiwaniami, gdy są one narażone na punkt końcowy HTTP.

Jeśli zamierzasz narazić procedury składowane w systemie jako część własne niestandardowe SQL Server rozwiązanie do zarządzania, można użyć następujących alternatywnych metod. Te pozwalają obejść sytuacje, w przypadku, gdy określonego systemu, procedura przechowywana nie może być dostępny.

  • Po pierwsze proste nonrecursive korzystania z systemu procedur przechowywanych, spróbuj tworzenie własnych użytkownika procedur przechowywanych zawijania systemowa procedura składowana chcesz udostępnić na punkt końcowy HTTP.

  • Po drugie, jeśli poprzedni podejście okaże się zbyt złożona lub nieporęczny do zarządzania, ponieważ korzysta z zagnieżdżonych wywołań wiele procedur przechowywanych, warto rozważyć użycie sqlbatch metoda zamiast tego, aby uniknąć tego problemu.Przykład użycia sqlbatch, see Struktura wiadomości żądania protokołu SOAP.