Share via


Ağ iletişim kuralları ve TDS bitiş noktaları

Zaman SQL Server Database Engine Bu iletişim biçimler bir uygulamayla iletişim kuruyorsa, bir Microsoft iletişim biçimi adlı bir tablo verisi akışı (TDS) paketi.yükler SQL Server Ağ kitaplıkları için değiştirir ağ arabirim (SNI) protokol katmanı SQL Server 2000 ve Microsoft Veri erişim bileşenleri (MDAC), TDS paket içinde bir standart iletişim protokol, TCP/IP gibi saklar veya adlandırılmış yöneltmeler. SNI protokol katmanına her ikisi için de ortaktır Database Engine ve SQL Server Yerel istemci. SNI protokol katmanına doğrudan yapılandırılmadı.Bunun yerine sunucu ve SQL Server Yerel istemci bir ağ protokol kullanacak şekilde yapılandırılır. Ardından, Database Engine ve SQL Server Yerel istemci otomatik olarak uygun protokol ayarları kullanın. Sunucu oluþturur bir SQL Server nesne adı verilen bir TDS bitiş noktası her ağ protokol.Sunucuda, TDS bitiş noktaları tarafından yüklenir SQL Server sırasında SQL Server Yükleme.

Bu konu, sunucuyu nasıl oluşturur ve TDS bitiş noktaları kullanan açıklar.Sunucu yapılandırma hakkında daha fazla bilgi için bkz: Sunucu ağ protokolleri ve ağ kitaplıkları yapılandırma.

Istemci bilgisayarda, SQL Server Yerel istemci yüklü olmalı ve bir ağ kullanmak üzere yapılandırılmış protokol sunucu üzerinde etkin. Istemcileri hakkında daha fazla bilgi için bkz: Istemci ağ iletişim kuralları'nı yapılandırma.

Sonra Kur'un sunucu iletişim kuralları etkinleştirme

Temel işletim sistemi ağ iletişim kuralları (TCP/IP gibi) istemci ve sunucuda zaten yüklenmelidir.Ağ protokolleri, genellikle Windows Kur sırasında yüklenir; bunlar değil parçası SQL Server Kur. Gerekli ağ protokol kullanılabilir ve yapılandırılmış bir sunucuda, değilse Database Engine başlatılamıyor. Gerekli ağ protokol istemcide yapılandırılmış ve kullanılabilir değilse, ağ kitaplığını çalışmayacak.

Not

Bu konu içinde kalan "bir iletişim kuralını etkinleştirme" protokol için etkinleştirme gösterir SQL Server, işletim sistemi için.

Iletişim kurmak gerekli ağ iletişim kuralları SQL Server başka bir bilgisayardan için etkin değil sıklıkla SQL Server Yükleme sırasında. Bir istemci bilgisayardan bağlanmak için , bu nedenle, adlandırılmış yöneltmeler, TCP/ıp'yi etkinleştirmek olabilir ya da protokol VIA.(Paylaşılan bellek protokol tüm yüklemelerinde varsayılan olarak etkindir, ancak yalnızca bağlanmak için kullanılabilir Database Engine bir istemci uygulamasını aynı bilgisayarda.) Hakkında daha fazla ağ iletişim kurallarını yükleme türünün etkin ilgili bilgi için bkzVarsayılan SQL Server Ağ yapılandırma.

Ağ iletişim kurallarını etkinleştirmek için , SQL Server Yapılandırma Yöneticisi'nde. Alternatif olarak, iletişim kurallarını yükleme sırasında komut istemi isteminde Seçenekleri'ni kullanarak gerçekleştirebilirsiniz.Daha fazla bilgi için bkz:Nasıl Yapılır: SQL Server 2008 komut istemi isteminden yükleyin..

Sonra ağ bağlantıları yüklenmiş ve yapılandırılmış, SQL Server sunucunun ağ iletişim kurallarını herhangi bir bileş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.Iletişim kuralları etkinleştirildiğinde varsayılan olarak, tüm kullanıcıların bunlara erişebilirsiniz.Etkin bir ağ protokol, bitiş noktası hala var, ancak kullanılamaz.Ek bir son nokta üyeleri tarafından kullanılabilecek özel yönetici bağlantısı (DAC) için oluşturulan sysadmin sabit sunucu rolü.

SQL Server Her TDS son nokta için benzersiz bir ad oluşturur.Otomatik oluşturulan bitiş noktaları aşağıdaki tabloda gösterilmiştir.

Amaç

Bitiş noktası adı

Paylaşılan bellek

TSQL da

Adlandırılmış Yöneltme

Adlandırılmış Yöneltme TSQL

TCP/IP

TSQL varsayılan TCP

YOLUYLA

VIA TSQL varsayılan

dac

Özel Yönetim bağlantısı

http

Köprü Metni Aktarım Protokolü

Adlandırılmış yöneltmeler ve paylaşılan bellek iletişim kuralları için yalnızca 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 bir son nokta yok, ancak ek bitiş noktası oluşturuldu.HTTP bitiş noktaları aynı zamanda kullanıcı tarafından oluşturulmuş ve görünmez SQL Server Yapılandırma Yöneticisi'nde.

Yalnızca sahibi ve durumunu (bitiş NOKTASı ALTER kullanarak) sistem bitiş noktası değiştirilebilir.Varsayılan bitiş noktaları devre dışı bırakamaz, ancak durdurabilir ve bunları başlatın.Durdurulmuş bir son nokta hala bekleyen, ancak reddeder ve yeni bağlantı kapatılır.

Not

Varsayılan olarak, istemcilerin kadar bunlardan birini çalıştığı tüm iletişim kuralları denemek için yapılandırılır.Istemciler, TCP/IP iletişim kuralını devre dışı bırakıldıysa, sonraki protokol ile devam edin.TCP/ıp'nin etkin, ancak son nokta durdurdu, bağlantı girişimi, istemci diğer iletişim kuralları deneyin, ancak durdurulmuş bağlantı kullanılamıyor; böylece reddedilir değil.Bu durumda, etkin bir son nokta için açıkça bağlanmanız gerekir.

Dinamik bir TCP bağlantı noktaları genellikle, varsayılan TCP bitiş noktasına bağlanın.

Kayıt defterindeki bir protokol ayarları

TDS bitiş noktası ayarlarını kayıt defterine kaydedilir.Kullanıcıların kullanmalısınız Transact-SQL oluşturma veya bitiş noktalarını değiştirmek, ve deyimleri SQL Server Etkinleştirmek veya başlar ve bitiş noktaları vermiyor iletişim kurallarını devre dışı bırakmak için Yapılandırma Yöneticisi.

Kayıt defterindeki ayarları kullanıcı değişiklikleri protokolü, hiçbir şey olmuyor.Kayıt defterinin meta veriler ' farklıdır.

Bir kullanıcı bağlantı, bir Endpoint ile ilişkilendirme

Bağlanırken Database Engine, SQL Server bağlantı belirli bir son nokta ile ilişkilendirir ve bağlantı oturum açma bitiş noktası'nı kullanma iznine sahip olup olmadığını değerlendirir. Bağlantıları ilişkili şunlardır:

  • Bellek bağlantı kullanımını paylaşılan TSQL da bitiş noktası.

  • Yöneltme bağlantıları kullanmak adlı Adlandırılmış Yöneltme TSQL bitiş noktası.

  • Yönetici bağlantı kullanımı için ayrılmış Özel Yönetim bağlantısı bitiş noktası.

  • Varsayılan olarak, TCP bağlantılarını kullanmak TSQL varsayılan TCP bitiş noktası.Belirli bir TCP bağlantı noktası için yeni bir (kullanıcı tanımlı) TCP uç oluşturulursa, bağlantılar, TCP bağlantı noktası yeni bu bitiş noktasına bağlanır.Yeni bir TCP/TSQL son nokta kullanarak oluşturduysanız ip_any olarak bağlantı noktasını, sonra yeni konusu son nokta için TCP bağlantılarını bağlanacaktır.

  • Bağlantılar, TCP bağlantılarını aynı kabul edilir.

Kullanıcı tanımlı bitiş noktası, varsayılan bitiş noktaları aynı şekilde davranır.(Veya bir IP adresi kullanarak, tüm IP adresleri için bir bitiş noktası oluşturulduğunda ip_any) ve kullanıcılara adlı bir işlemdeki belirli bir TCP bağlantı noktası bitiş noktasına bağlanma izni verilirkaynak ayırma.Bunlar, hazırlama olup olmadığı sunucu gerçekten IP adresi/TCP bağlantı noktası bileşimini dinliyor bağımsız olarak korur.Aşağıdaki 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ı tam olarak eşleşen bitiş noktası kullanılır.

  2. Tam bir eşleşme yoksa, TCP bağlantı noktası tüm karşı denetlenir ip_any son noktaları ve TCP bağlantı noktası listeleniyorsa, bu bitiş noktası kullanılır.

  3. Tam bir bağlantı noktası eşleşme yoksa, varsayılan TCP bitiş noktası kullanılır.

Bağlantı ilişkilendirme işlemi, en fazla yetkilendirilebilecek tek son nokta seçimde her zaman oluşur.Bağlanma izni konusu son nokta için denetlenir.Kullanıcı bu bitiş noktası izniniz varsa, işlemi sonraki son nokta için aramaz.

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

Aşağıdaki örnekte, IP adresini ve TCP bağlantı noktası'larının isteği ve 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ı üzerinde dinlemek üzere yapılandırılmış olduğunu varsayalım:

127.0.0.1:1533

Daha fazla aşağıdaki TCP bitiş noktası yapıldığını varsayalım:

Bitiş noktası adı

Yapılandırılan değerler

Geridöngü

LISTENER_IP 127.0.0.1 ve LISTENER_PORT = 1533 =

Uzak

LISTENER_IP = ALL ve LISTENER_PORT 1533 =

TSQL varsayılan 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 bir TCP bağlantısı varsa, oturum ile ilişkili bir bitiş noktası olacak Geridöngü bitiş noktası, IP adresini ve TCP bağlantı noktası tam bir eşleşme olmadığıGeridöngü bitiş noktası.

  • Bir istemci 251.40.20.151:1533 bir TCP bağlantısı varsa, IP adresini ve TCP bağlantı noktası bir son nokta için tam bir eşleşme yoktur ancak Uzak bağlantı için kullanılabilir olduğundan Uzak herhangi bir IP adresi ve bağlantı noktası 1533 dinliyor.Bağlantı oturum açma izni yoksa, Uzak son nokta işlemi başarısız.Bu olası diğer bitiş noktaları gibi bağlanmaya. TSQL varsayılan TCPoturum açma izni olabilir.

  • Bir istemci bir TCP bağlantısı 251.40.20.151:1433 yapar, tam eşleşme IP adresini ve TCP bağlantı noktası için bir son nokta yok ve TCP bağlantı noktasını herhangi bir IP adresine sahip 1533 için eşleşme yok ancak TSQL varsayılan TCP bağlantı için kullanılabilir olduğundan TSQL varsayılan TCP herhangi bir IP adresi ve herhangi bir bağlantı üzerinde dinliyor.

Yükseltme ve/veya yükleme

Varsayılan olarak, tüm kullanıcıların TDS bitiş noktaları (dışında ayrılmış bir yönetici bağlantı bitiş noktası) erişebilirsiniz.Bu bitiş noktası, sunucu tarafından dahili olarak oluşturulur, çünkü bunlar hiçbir sahip ve bunları belirli bir firma ile ilişkilendirme edemiyor.

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

Bitiş noktası oluşturulur ve kullanılarak yönetilir. Transact-SQL. Bunlar, oluşturulan ve son NOKTA, CREATE ve DROP bitiş NOKTASı ekstreleri bıraktı.Denetim, değiştirme ve bitiş noktaları sahipliğini ifadeler de vardır.

Örneğine bağlanmak için SQL Server Bu alternatif Transact-SQL Bitiş noktaları, kullanıcıların bir son nokta için CONNECT iznine ve genel iznine sahip olması gerekir SQL Server oturum açmak için . Oturum oluşturulduğunda, varsayılan bitiş noktaları için bağlanma izni örtülü olarak kullanıcılara verilir.Son noktalar erişim GRANT ile yönetilen | DENY | CONNECT ON BITIŞ REVOKE.

Yeni bir TCP bitiş noktası, oluşturulduğunda SQL Server var olan tüm izinlere göre otomatik olarak iptal eder TSQL varsayılan TCP bitiş noktası.Yeni bir TCP bitiş noktası oluşturma konusunda bir örnek için bkz: Nasıl Yapılır: Çok sayıda TCP bağlantı noktası üzerinde dinleme yapmak için Veritabanı Altyapısı'nı yapılandırma.

  • Son nokta için erişimi sınırlamak için , yönetici (DENY CONNECT deyim ile) Herkes grubuna izin vermemek ve daha sonra belirli bireylere veya roller (VERMEK CONNECT deyim ile) izni.

  • Izinler, özgün durumuna döndürmek için , CONNECT PUBLIC grubuna IZNI.

  • Son nokta için belirli bir uygulama sağlamak için , kullanıcılar bu uygulama için tüm kullanıcıların izinleri DENY CONNECT hariç.

Security noteSecurity Note:

Bir bitiş noktası'nı kullanmak için yetkilendirme, bitiş noktası adı ile ilişkilidir.Bir bitiş noktası adı değişirse, güvenlik kısıtlamaları (örneğin, DENY CONNECT ifadeleri) artık düzgün uygulanır.Bir son noktanın adı, bağlantı noktası değiştiğinde değişir.If SQL Server dinliyor dinamik bağlantı noktalarını, bağlantı noktası, son nokta adının değiştirilmesi ve ilişkili bir son nokta izinleri bırakarak değiştirebilirsiniz. Bu bir güvenlik riski ortadan kaldırmak için , aksi halde küme bitiş noktaları özel izinlerini dinamik bağlantı noktası ile ilişkili ve bir TCP/IP bitiş kayıt defterindeki gerçekleştiği sırada değiştirmeyin.

Son noktalar için güvenliği küme hakkında daha fazla bilgi için bkz: Endpoint IZINLERI (Transact-SQL).