Ağ protokolleri ve tds bitiş noktaları

Zaman SQL Server Veritabanı Altyapısı iletişim kurmak için kullandığı bir uygulamayla iletişim biçimleri, bir Microsoft iletişim biçimi olarak adlandırılan bir tablo verisi akışı (tds) paket.Ağ SQL Server ağ arabirimi (SNI) protokol katmanı için Net kitaplıkları değiştirir SQL Server 2000 ve Microsoft Data Access Components (mdac) Kapsüller tds paket içinde standart iletişim gibi bir protokol, TCP/IP veya adlandırılmış yöneltmeler.SNI protokol katmanına hem de genel Veritabanı Altyapısı ve SQL Server yerel istemci.SNI protokol katmanına doğrudan yapılandırılmamış demektir.Bunun yerine, sunucu ve SQL Server Native Client yapılandırıldığı için kullanılacak bir ağ protokol.Sonra Veritabanı Altyapısı ve SQL Server otomatik olarak yerel istemci kullanmak uygun protokol ayarları.Sunucu oluşturur bir SQL Server adlı bir tds son nokta her ağ protokol.tds bitiş noktaları tarafından yüklenen sunucu üzerinde SQL Server sırasında SQL Server yükleme.

Bu konuda nasıl sunucu oluşturur ve tds bitiş noktaları kullandığı açıklanmıştır.Sunucu yapılandırma hakkında daha fazla bilgi için bkz: Sunucu ağ protokolleri ve ağ kitaplıkları yapılandırma.

istemci bilgisayarında, SQL Server Native istemci yüklenmeli ve etkin bir ağ protokol kullanmak üzere yapılandırılmışsunucu. İstemcileri hakkında daha fazla bilgi için bkz: İstemci ağ iletişim kurallarını yapılandırma.

Kurulumdan sonra sunucu protokolleri etkinleştirme

Temel işletim sistemi gibi ağ iletişim kuralları (TCP/IP) zaten istemci ve sunucu üzerinde yüklü olmalıdır.Ağ protokolleri, Windows Kur sırasında genellikle yüklenir; Bunlar değil parçası SQL Server Kur.Sunucu üzerinde kullanılabilir ve gerekli ağ protokol ise, Veritabanı Altyapısı will start.Gerekli ağ protokol üzerinde yapılandırılmış ve kullanılabilir değilse, istemci, ağ kitaplığını çalışmaz.

Not

"Bir protokol etkinleştirme", bu konuda geri kalanı protokol için etkinleştirme anlamına gelir SQL Server, için değil işletim sisteminin.

Ağ iletişim kuralları ile iletişim kurmak gerekli SQL Server başka bir bilgisayardan genellikle etkin için SQL Server sırasında yükleme.Bir istemci bilgisayardan bağlanmak için bu nedenle, adlı kanallar veya VIA, TCP/IP'yi etkinleştirmek olabilir protokol.(Paylaşılan bellek protokol tüm yüklemelerinde varsayılan olarak etkindir, ancak yalnızca bağlanmak için kullanılabilir Veritabanı Altyapısı bir istemci uygulamasından aynı bilgisayar.) Hakkında hangi ağ protokolleri etkin yükleme türünüz için bilgi için Varsayılan SQL Server ağ yapılandırması.

Ağ iletişim kurallarını etkinleştirmek için kullanın SQL Server Yapılandırma Yöneticisi.Alternatif olarak, iletişim kurallarını yükleme sırasında komut istemi isteminde seçenekleri kullanılarak etkinleştirilebilir.Daha fazla bilgi için bkz: Nasıl yapılır: Komut İsteminden SQL Server 2008 R2 yükleme.

Ağ bağlantıları yüklü ve yapılandırılmış, sonra SQL Server sunucu ağ protokolleri herhangi bir birleşimini aynı anda dinleyebilirsiniz.

Tanımlı tds bitiş noktaları

A TDS endpoint is the SQL Server object that represents the communication point between SQL Server and a client.SQL Server automatically creates an endpoint for each of the four protocols supported by SQL Server.İletişim kuralları etkinleştirildiğinde, varsayılan olarak, tüm kullanıcılar bunlara erişebilirsiniz.Etkin ağ protokol, bitiş noktası hala var, ancak kullanılamaz.Yalnızca üyeleri tarafından kullanılan özel yönetici bağlantısı (dac) için oluşturulan ek bir son nokta sysadmin sabit sunucu rolü.

SQL Server Her tds son nokta için benzersiz bir ad oluşturur.Otomatik olarak oluşturulan bitiş noktası aşağıdaki gösterilen tablo.

Amaç

Bitiş noktası adı

Paylaşılan bellek

TSQL LocalMachine

Adlandırılmış Kanallar

TSQL Named Pipes

TCP/IP

TSQL Default TCP

VIA

TSQL Default VIA

DAC

Dedicated Admin Connection

HTTP

HyperText Transport Protocol

Adlandırılmış yöneltmeler ve paylaşılan bellek iletişim kuralları için sadece olabilir örnek başına bir son nokta.Bu protokol türleri için yapılandırılabilir bitiş noktası vardır.TCP/IP ve VIA, varsayılan bitiş noktası vardır, ancak ek uç oluşturulabilir.http bitiş noktaları aynı zamanda kullanıcı tarafından oluşturulan ve görünmez SQL Server Yapılandırma Yöneticisi.

Önemli notÖnemli

VIA protokol önerilmiyor.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.

Yalnızca sahibi ve durumu sistem bitiş noktasında (alter bitiş noktası kullanarak) değiştirebilirsiniz.Varsayılan bitiş noktaları devre dışı bırakamaz, ancak durdurmak ve hizmetleri başlatın.Durdurulmuş bir son nokta yine de dinler, ancak bunu reddeder ve yeni bağlantıları kapatır.

Not

Varsayılan olarak, istemciler bir tanesini çalışır kadar tüm iletişim kuralları denemek için yapılandırılır.İstemciler, TCP/IP iletişim kuralını devre dışı bırakılırsa, İleri protokol ile devam eder.TCP/IP'nin etkin ancak bitiş noktası durdurulur, bağlantı girişimi, istemci diğer protokoller denemez, ancak durdurulmuş bağlantı kullanılamıyor reddedilir değil.Bu durum, açıkça etkin bitiş noktasına bağlanmalısınız.

Dinamik tcp bağlantı noktaları genellikle varsayılan tcp bitiş noktasına bağlanın.

İletişim kuralı ayarları kayıt defterinde

tds bitiş noktaları için ayarları kayıt defterine kaydedilir.Kullanıcıların kullanması gereken Transact-SQL ifadeleri oluşturma veya alter bitiş noktası, ve kullanma SQL Server Configuration Manager etkinleştirmek veya devre dışı iletişim kuralları, başlatır ve durdurur bitiş noktaları.

Ayarları kayıt defterinde kullanıcı değişiklikleri protokol, hiçbir şey olmuyor.meta veriler kayıt farklıdır.

Kullanıcı bağlantısı son nokta ile ilişkilendirme

Bağlanırken Veritabanı Altyapısı, SQL Server belirli bir bitiş noktası bağlantısıyla ilişkilendirir ve bağlantı oturum açma izni için verildi olup olmadığını değerlendirir.son nokta. Bağlantıları ilişkili şunlardır:

  • Paylaşılan bellek bağlantıları kullan TSQL LocalMachine son nokta.

  • Adlandırılmış Yöneltme bağlantıları kullan TSQL Named Pipes son nokta.

  • Adanmış yönetici bağlantısı kullanmak Dedicated Admin Connection son nokta.

  • Varsayılan olarak, tcp bağlantılarını kullanmak TSQL Default TCP son nokta.Bir yeni (kullanıcı tanımlı) tcp bitiş noktası için belirli bir tcp bağlantı noktası oluşturulduysa, yeni konusu son nokta için bağlantıları tcp bağlantı noktasına bağlanır.Yeni bir tcp/tsql bitiş noktası kullanarak oluşturduysanız, IP_ANY bağlantı noktası olarak tcp bağlantılarını ardından bağlanacağınız yeni bir son nokta bu.

  • Bağlantıları tcp bağlantılarını aynı şekilde davranılır.

Kullanıcı tanımlı bitiş noktası varsayılan bitiş noktaları aynı şekilde davranır.Bir IP adresi için bir bitiş noktası oluşturulduğunda (veya kullanarak, tüm IP adresleri IP_ANY) adı verilen bir işlemi kullanıcılara belirli bir tcp bağlantı noktası bitiş noktasına bağlanma izni verilir ve hazırlama.Bunlar olmasa da sunucu gerçekten üzerinde IP adresi/tcp bağlantı noktası bileşimi dinliyor ne olursa olsun hazırlama korur.Şu sırada bir son nokta için bir IP adresi ve tcp bağlantı noktası bağlantı eşleştirilir:

  1. IP adresi ve tcp bağlantı noktası bir bitiş noktasının IP adresini ve tcp bağlantı noktasını tam olarak eşleşen bitiş noktası kullanılır.

  2. Tam bir eşleşme değilse, tcp bağlantı noktası tüm karşı denetlenir IP_ANY , bitiş noktaları ve tcp bağlantı noktası listede, bu son nokta.

  3. Bağlantı noktası tam eşleşme yoksa, varsayılan tcp bitiş noktası kullanılır.

Her zaman bağlantı ilişkilendirme işlemi sonuçlar içinde en fazla tek bir bitiş noktasının seçimi.Bağlanma izni konusu son nokta için denetlenir.Kullanıcının bu bitiş noktası izni, işlemi sonraki son nokta için arayın.

Örnekler: Kullanıcı bağlantıları ve bitiş noktaları ilişkilendirme

Aşağıdaki örnekte, IP adresi ve tcp bağlantı noktası bir bitiş noktası seçmek için nasıl kullanıldığını gösterir.Sunucu aşağıdaki IP adreslerini ve tcp bağlantı noktalarının dinleme için yapılandırıldığını varsayın:

127.0.0.1:1533

251.40.20.151:1533

251.40.20.151:1433

Daha aşağıdaki tcp bitiş noktaları yapıldığını varsayalım:

Bitiş noktası adı

Yapılandırılmış değerleri

Loopback

LISTENER_IP = 127.0.0.1 ve LISTENER_PORT 1533 =

Remote

LISTENER_IP = all ve LISTENER_PORT 1533 =

TSQL Default TCP

Herhangi bir IP adresi veya bağlantı noktası bağlı değil

Üç olası bağlantı olasılıkları bulunmaktadır:

  • Bir istemci 127.0.0.1:1533 için tcp bağlantı kurar, oturum ile ilişkili bitiş noktası olacaktır Loopback son nokta tam olarak eşleşen IP adresi ve tcp bağlantı noktası olduğundan Loopback son nokta.

  • Bir istemci 251.40.20.151:1533 için tcp bağlantı kurar, IP adresi ve tcp bağlantı noktası bir son nokta için tam eşleşme yoktur ama Remote bağlantı için kullanılabilir çünkü Remote herhangi bir IP adresi ve bağlantı noktası 1533 dinliyor.Bağlantı oturum açma izni yoksa, Remote son nokta, işlem başarısız olur.Onu diğer olası bitiş noktaları gibi bağlanmayı deneyin değil TSQL Default TCP, hangi login olabilir izin.

  • Bir istemci 251.40.20.151:1433 için tcp bağlantı kurar, IP adresi ve tcp bağlantı noktası bir son nokta için tam eşleşme ve tcp bağlantı noktasını herhangi bir IP adresine sahip 1533 için eşleşme yoktur, ancak TSQL Default TCP , bağlantı için kullanılabilir, çünkü TSQL Default TCP olan herhangi bir IP adresi ve her bağlantı noktası üzerinde dinleme

Yükseltme ve/veya yükleme

Varsayılan olarak, tüm kullanıcılar tds bitiş noktaları (dışında adanmış bir yönetici bağlantı bitiş noktası) erişebilirsiniz.Bu bitiş noktası sunucu tarafından dahili olarak oluşturulur çünkü bunlar sahibi olmayabilir ve belirli bir hesap ile ilişkilendiremezsiniz.

Transact-sql ile bitiş noktalarını yönetme

Bitiş noktaları oluşturulur ve yönetilir kullanarak Transact-SQL.Bunlar oluşturulur ve son nokta oluşturun ve bitiş noktası bırak ifadelerle bıraktı.Kontrol alter ve bitiş noktaları sahipliğini almak için ifadeleri de vardır.

Bağlanmak için bir örnek , SQL Server kullanarak Transact-SQL bitiş noktaları, kullanıcılar gerekir BAĞLAN iznine sahip bir son nokta ve genel izni için SQL Server için günlük inçOturumu oluşturulurken varsayılan bitiş noktaları için bağlanma izni dolaylı olarak kullanıcılara verilir.Bitiş noktası erişim grant ile yönetilen | DENY | REVOKE NOKTADAKİ BAĞLAYIN.

Yeni bir tcp bitiş noktası oluşturulduğunda, SQL Server otomatik olarak bulunan tüm varolan izinlerini iptal eder TSQL Default TCP son nokta.Yeni bir tcp bitiş noktası oluşturmak nasıl bir örnek için bkz: Nasıl yapılır: Üzerinde çoklu TCP bağlantı noktalarının dinleme için veritabanı altyapısı yapılandırma.

  • Bir son nokta için erişimi kısıtlamak için yönetici (bağlantı deny deyim ile) everyone grubuna izin vermemek ve belirli kişilere veya roller (bağlanma izni deyim ile) izni verin.

  • İzinleri özgün durumuna geri döndürmek için genel grup için connect izni verin.

  • Belirli bir uygulama için bir bitiş noktası sağlamak için kullanıcılar için bu uygulama tüm kullanıcılar için izinleri deny connect hariç.

Güvenlik notuGüvenlik Notu

Bir son nokta kullanmak için yetkilendirme bitiş noktası adı ile ilişkilendirilir.Bitiş noktası adı değişirse (örneğin, bağlantı deny ifadeleri) güvenlik kısıtlamaları artık düzgün uygulanacak.Bağlantı noktası değiştiğinde uçnokta adı değiştirildi.If SQL Server is listening on dynamic ports, the port can change, changing the endpoint name, and dropping the associated endpoint permissions.Bu bir güvenlik riski önlemek için yapmak küme özel bitiş noktası izinleri dinamik bağlantı noktaları ile ilişkili ve içinde TCP/IP bitiş noktası oluşur kayıt defterinde sırasını değiştirin.

Bitiş noktaları için güvenliği küme hakkında daha fazla bilgi için bkz: Bitiş noktası izinleri (Transact-sql).