Rezerwowanie obszaru nazw HTTP

Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.

Rezerwacji obszaru nazw HTTP do użytku z wystąpienie SQL Server można wykonać przy użyciu albo niejawna rezerwacji, takich jak przy użyciu Tworzenie punktu KOŃCOWEGO, lub jawnej rezerwacji za pomocą sp_reserve_http_namespace procedura składowana.

Obszary nazw adresów URL są zarezerwowane dla następujących powodów:

  • Jeśli aplikacja jest uruchomiona jako konto są administratorami, nie można powiązać z przestrzeni nazw na uruchamianie -czas bez konieczności administrator rezerwacji obszaru nazw.Jest wymagany sterownik trybu jądra protokołu HTTP (Http.sys).

    Jedynym wyjątkiem od tej reguły jest, jeśli aplikacja działa na koncie system lokalny.Aplikacje uruchomione na koncie system lokalny można powiązać dowolny obszar nazw, tak długo, jak jest bezpłatne.Nawet w przypadku, gdy korzystasz z konta system lokalny, zaleca się zastrzegające obszary nazw z następującej przyczyny.

  • Rezerwacji przestrzeni nazw gwarantuje, że inne aplikacje nie można powiązać dlatego aplikacja ma wyłączną własność obszaru nazw.

    Na przykład jeśli wystąpienie SQL Server działa na koncie system lokalny rezerwacji przestrzeni nazw nie jest wymagane, ale zaleca się, aby uniknąć konfliktów aplikacji adresów URL.

Rezerwowanie obszarów nazw jest hierarchicznym.Na przykład jeśli obszar nazw http://adventure-works.com:80/ jest zarezerwowane, więc są wszystkie podobszary nazw takich jak http://adventure-works.com:80/sqlapp1 i http://adventure-works.com:80/sqlapp2/dir1.

Ostrzeżenie

Aby zarezerwować HTTP obszaru nazw przy użyciu sterownika trybu jądra protokołu HTTP (Http.sys) wymaga uprawnień administracyjnych systemu Windows na komputerze lokalnym, na którym wystąpienie SQL Server jest zainstalowany.

Tworzenie jawnej rezerwacji

Aby utworzyć jawne rezerwacji, administrator, który chce, aby użytkownicy mogli uruchomić punkt końcowy instrukcja Data Definition Language (DDL) bez konieczności wysokie uprawnienia na komputerze można zarezerwować nazw adresów URL za pomocą sp_reserve_http_namespace procedura składowana.

Na przykład można połączyć wystąpienie SQL Server poprzez korzystanie z uwierzytelniania systemu Windows, logowanie, które ma uprawnienia administratora i wykonać następujące czynności:

sp_reserve_http_namespace N'http://MyServer:80/sql'
GO

procedura składowana zastrzega sobie wyraźnie określonego obszaru nazw, gdzie MyServer jest nazwa serwera i 80 jest numerem portu.Ta procedura rezerwuje określonego obszaru nazw URL w sposób kolejnych operacji DDL w obrębie tego obszaru nazw nie wymagają uprawnień administratora na komputerze.Użytkownik bez żadnych przywilejów administratora komputera może wykonać endpoint instrukcja DDL.

Na przykład, użytkownik może wykonać następujące CREATE ENDPOINT instrukcja:

CREATE ENDPOINT sql_endpoint 
STATE = STARTED
AS HTTP(
   PATH = '/sql/AdvWorks', 
   AUTHENTICATION = (INTEGRATED ), 
   PORTS = ( CLEAR ), 
   SITE = 'MyServer'
)
FOR SOAP (
    ...
)
GO

Punkt końcowy instrukcja po prostu rejestruje /sql/AdvWorks w zarezerwowanym obszarze nazw HTTP.SYS.Aplikacja klient może następnie wysłać żądanie protokołu SOAP, takich jak żądając WSDL odpowiedź z serwera, do punktu końcowego:

http://MyServer/sql/AdvWorks?wsdl

Nazwa obszaru nazw, określona w sp_reserve_http_namespace formularza musi być procedura składowana:

<scheme>://<hostpart>[:<port>]/<RelativeURI>
  • scheme
    Can be http or https.

  • hostpart
    Może być określonego hosta, nazwa lub następujących symboli wieloznacznych: znak plus (+) lub gwiazdki (*).

    Znak plus (+) oznacza, że operacja rezerwacji dotyczy wszystkich nazw hostów możliwe dla określonego komputera <System> i <portu>.

    Gwiazdka (*) oznacza, że operacja rezerwacji dotyczy wszystkich nazw hostów możliwe dla komputera <schemat> i <portu> , które nie są inaczej jawnie zarezerwowane, takich jak inne uruchamiając sp_reserve_http_namespace operacji, aktywnymi punktami końcowymi lub innych aplikacji.

Identyfikowanie obszaru nazw dla punktu końcowego

Można określić poprawny obszaru nazw dla punktu końcowego na podstawie parametrów w instrukcja tworzenia punktu KOŃCOWEGO.

Wartość parametru portów do instrukcja tworzenia punktu KOŃCOWEGO określa schematu dla obszaru nazw, jak pokazano w poniższej tabela:

Wartość punktu końcowego

<Schemat> wartości

WYCZYŚĆ

http

SSL

https

n

http

Wartość Ustawia parametr CLEAR_PORT lub SSL_PORT <portu> wartości obszaru nazw

Wartość PATH Ustawianie parametru <RelativeURI> z obszaru nazw.

Wartość WITRYNĘ zestawów parametrów <hostpart> z obszaru nazw.

Na przykład, poniższa instrukcja tworzy punkt końcowy, który ma obszar nazw http://testhost:80/sqlurl/myapp.

CREATE ENDPOINT ext_endpoint
    STATE = STARTED
AS HTTP (       
PATH = '/sqlurl/myapp'
, PORTS = CLEAR
, SITE = testhost
, CLEAR_PORT = 80 
)

Poniższa instrukcja tworzy punkt końcowy, który ma obszar nazw https://*:443/sqlurl/myapp:

CREATE ENDPOINT ext_endpoint
    STATE = STARTED
AS HTTP (       
PATH = '/sqlurl/myapp'
, PORTS = SSL
, SITE = '*'
, SSL_PORT = 443 
)

Przykłady

Poniżej przedstawiono inny przykład, w którym administrator rezerw obszaru nazw HTTP.SYS dla połączenia SSL.Dlatego użytkownik może utworzyć punkty końcowe, gdy PORT jest zestaw do protokołu SSL.

sp_reserve_http_namespace N'https://MyServer:443/sql'