Bir http ad alanı ayırma

Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.

örnek ile kullanmak için bir http ad alanı ayırma SQL Server gerçekleştirilmesi ya da bir örtülü rezervasyon, kullandığınızda gibi kullanarak Bitiş noktası oluşturmak, ya da kullanarak açık bir rezervasyon sp_reserve_http_namespace saklı yordam.

url ad aşağıdaki nedenlerle ayrılmıştır:

  • Bir uygulama yönetici olmayan hesabı olarak çalışıyorsa, onu at run - ad alanına bağlayamıyorsaat ad alanı ayırma yönetici kalmadan.Bu çekirdek modu http sürücüsü (Http.sys) bir zorunluluktur.

    Bu kuralın tek istisnası, uygulama yerel sistem hesabı altında çalışıyorsa olur.Boş olduğu sürece yerel sistem hesabı altında çalışan uygulamalar için herhangi bir ad boşluğu bağlayabilirsiniz.Hatta yerel sistem hesabı altında çalışan, aşağıdaki nedenle namespaces rezerve öneririz.

  • Bir ad alanı ayırması, diğer uygulamalar için bağlanamıyor garanti eder; Bu nedenle, uygulama ad alanının tek başınıza sahipliği vardır.

    Örneğin, bir örnek , SQL Server çalışan yerel sistem hesabı altında namespaces rezerve gerekli değildir, ancak uygulama URL'leri. çakışmaları öneririz

Ad alanı ayırma hiyerarşik.Örneğin, ad http://adventure-works.com:80/ olduğu kadar tüm alt ad boşlukları gibi ayrılmış, http://adventure-works.com:80/sqlapp1 ve http://adventure-works.com:80/sqlapp2/dir1.

Not

Ayırma bir http ad alanı çekirdek modu http sürücüsü (Http.sys) kullanarak, yerel bilgisayarda yönetici ayrıcalıkları Windows gerektirir örnek , SQL Server yüklenir.

Açık bir rezervasyon oluşturma

Açık bir rezervasyon oluşturmak için bilgisayarda yüksek ayrıcalıklara gerek kalmadan bir son nokta veri tanımlama dili (ddl) deyim çalıştırmak kullanıcıların isteyen bir yönetici bir url ad kullanarak rezerve edebilirsiniz sp_reserve_http_namespace saklı yordam.

Örneğin, bağlanabileceğiniz bir örnek , SQL Server göre Windows kimlik doğrulaması, yönetici ayrıcalıklarına sahip bir oturum açma kullanarak ve aşağıdaki yürütmek:

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

Saklı yordam açıkça belirtilen ad alanı ayırır nerede MyServer sunucu adı ve 80 olan bağlantı noktası numarası.Bu yordamı, belirtilen url ad o ad alanı içinde izleyen ddl işlemleri bilgisayarda yönetici ayrıcalıkları gerektiren bir şekilde ayırır.Bir kullanıcı herhangi bir bilgisayarda yönetici ayrıcalıkları olmadan yürütmek bitiş noktası ddl deyim.

Örneğin, bir kullanıcı olabilir yürütmek şu CREATE ENDPOINT deyim:

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

Bitiş noktası deyim yalnızca kayıtları /sql/AdvWorks http ayrılmış ad.sys.Bir istemci uygulaması daha sonra bir soap isteği gibi bir wsdl yanıt bitiş noktasına sunucudan isteyerek gönderebilirsiniz:

http://MyServer/sql/AdvWorks?wsdl

Belirtilen ad alanı adı sp_reserve_http_namespace saklı yordam biçiminde olması gerekir:

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

  • hostpart
    Belirli bir ana bilgisayar adı veya aşağıdaki joker karakter olabilir: artı işareti (+) veya yıldız işareti (*).

    Artı işareti (+) ayırma işlemi tüm olası ana bilgisayar adları için belirtilen bilgisayar için geçerlidir anlamına gelir <düzeni> ve <bağlantı noktası>.

    Yıldız işareti (*) ayırma işlemi tüm olası ana bilgisayar adları için bilgisayar için geçerlidir anlamına gelir <düzeni> ve <bağlantı noktası> olmayan başka türlü açıkça ayrılmış, gibi diğer komut dosyası çalıştırarak sp_reserve_http_namespace işlemleri, etkin bitiş noktaları veya diğer uygulamalar.

Bir son nokta için ad tanımlama

Bitiş noktası oluşturma deyim parametrelerinde dayalı bir son nokta için doğru ad tanımlayabilirsiniz.

Bitiş noktası oluşturma deyim ports parametresinin değeri düzeni ad alanı için aşağıdaki gösterildiği gibi belirler tablo:

Bitiş noktası değeri

<düzeni> değer

TEMİZLE

http

SSL

HTTPS

n

http

clear_port veya ssl_port parametresinin kümesi değeri <bağlantı noktası> ad alanının değeri

path parametresi ayarlar değeri <RelativeURI> ad.

SITE parametresini ayarlar değeri <hostpart> ad.

Örneğin, aşağıdaki deyim ad alanına sahip bir son nokta oluşturur http://testhost:80/sqlurl/myapp.

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

Aşağıdaki deyim ad alanına sahip bir son nokta oluşturur https://*:443/sqlurl/myapp:

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

Örnekler

Yönetici HTTP ad alanı rezerve eder başka bir örnek verilmektedir.ssl bağlantısı için sys.Bu nedenle, bir kullanıcı burada bağlantı noktası, bitiş noktası oluşturabilir küme ssl için.

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