SQL Server 2014 yerel olarak adlandırılmış örnek yüklü aynı sorunu vardı. Kullanarak bağlama FQDN\InstanceName
sadece benim kullanarak bağlanırken, başarısız olur hostname\InstanceName
çalıştı. Örneğin: kullanarak bağlantı mycomputername\sql2014
çalıştı, ancak kullanmadı mycomputername.mydomain.org\sql2014
. DNS doğru bir şekilde çözüldü, TCP / IP SQL Configuration Manager içinde etkinleştirildi, Windows Güvenlik Duvarı kuralları eklendi (ve ardından hiçbir şeyi engellemediğinden emin olmak için güvenlik duvarını test için kapattı), ancak bunların hiçbiri sorunu çözmedi.
Son olarak, SQL Server " SQL Server Tarayıcısı " hizmetini başlatmak zorunda kaldı ve bu bağlantı sorunu giderildi.
SQL Server Browser hizmetinin SQL Server'ın bağlantı kurmasına yardımcı olduğunu hiç fark etmemiştim; Bağlanmak için "daha fazla gözat" sunucularını tıklattığınızda açılan menüleri doldurmaya yardımcı olduğu izlenimi altındaydım, ancak bağlantı noktası # açıkça atanmamışsa (istekleri) kullanmak için doğru bağlantı noktası # ile hizalamaya yardımcı oluyor. web sitesi bağlantılarının, birden çok web sitesi barındıran bir IIS web sunucusunda aynı sorunun hafifletilmesine nasıl yardımcı olduğuna)
Bu bağlantı öğesi bana SQL Server Tarayıcı hizmeti hakkında ipucu verdi: https://connect.microsoft.com/SQLServer/feedback/details/589901/unable-to-connect-on-localhost-using-fqdn-machine- isim
- sunucu adı olarak wstst05 \ sqlexpress kullandığınızda, istemci kodu makine adını örnek adından ayırır ve wstst05 netbios adıyla karşılaştırılır. Eşleşmeleri için hiçbir sorun görmüyorum ve bağlantı yerel olarak kabul ediliyor. Oradan, gerekli bilgileri almak OLMADAN sorunsuz SQL Browser ve paylaşılan bellek üzerinden SQL örneğine bağlantı temas.
- wstst05.capatest.local \ sqlexpress komutunu kullandığınızda, istemci kodu adın (wstst05.capatest.local) netbios adıyla (wstst05) karşılaştırılmasını engeller ve bağlantıyı "uzak" olarak kabul eder. Bu tasarım gereğidir ve gelecekte bunu kesinlikle geliştirmeyi düşüneceğiz. Her neyse, bağlantıyı uzaktan ele alması ve bunun adlandırılmış bir örnek olması nedeniyle, istemci ad çözümlemesi için SQLBrowser kullanması gerektiğine karar verir. Wstst05.capatest.local (UDP bağlantı noktası 1434) üzerinde SQL Tarayıcısı ile iletişim kurmaya çalışır ve görünüşe göre bu bölüm başarısız olur. Bu nedenle aldığınız hata.
TechNet'ten "SQL Server Tarayıcısı" hizmetinin nedeni (benim tarafımdan eklenen vurgu): https://technet.microsoft.com/en-us/library/ms181087(v=sql.120).aspx
"SQL Server Tarayıcısını Kullanma" bölümünde:
SQL Server Tarayıcı hizmeti çalışmıyorsa, doğru bağlantı noktası numarasını veya adlandırılmış yöneltme sağlarsanız, yine de SQL Server'a bağlanabilirsiniz. Örneğin, 1433 numaralı bağlantı noktasında çalışıyorsa varsayılan SQL Server örneğine TCP / IP ile bağlanabilirsiniz. Ancak, SQL Server Tarayıcı hizmeti çalışmıyorsa, aşağıdaki bağlantılar çalışmaz :
- Tüm parametreleri (TCP / IP bağlantı noktası veya adlandırılmış yöneltme gibi) tam olarak belirtmeden adlandırılmış bir örneğe bağlanmaya çalışan herhangi bir bileşen .
- Daha sonra başka bileşenler tarafından yeniden bağlanmak için kullanılabilecek sunucu \ örnek bilgilerini üreten veya ileten herhangi bir bileşen.
- Bağlantı noktası numarasını veya kanalını girmeden adlandırılmış bir örneğe bağlanma .
- TCP / IP bağlantı noktası 1433 kullanılmıyorsa, adlandırılmış bir örneğe veya varsayılan örneğe DAC.
- OLAP yeniden yönlendirme hizmeti.
- SQL Server Management Studio, Enterprise Manager veya Query Analyzer'da sunucuları numaralandırma.
İstemci-sunucu senaryosunda SQL Server kullanıyorsanız (örneğin, uygulamanız bir ağ üzerinden SQL Server'a erişirken), SQL Server Tarayıcı hizmetini durdurur veya devre dışı bırakırsanız, her örneğe belirli bir bağlantı noktası numarası atamanız ve bağlantı noktası numarasını her zaman kullanmak için istemci uygulama kodunuzu yazın. Bu yaklaşımın aşağıdaki sorunları vardır :
- Doğru bağlantı noktasına bağlandığından emin olmak için istemci uygulama kodunu güncellemeli ve bakımını yapmalısınız.
- Her örnek için seçtiğiniz bağlantı noktası, sunucudaki başka bir hizmet veya uygulama tarafından kullanılabilir ve bu da SQL Server örneğinin kullanılamamasına neden olur.
Ve aynı makalede "SQL Server Tarayıcısı Nasıl Çalışır" bölümünden daha fazla bilgi:
Çünkü SQL Server'ın yalnızca bir örneği bir bağlantı noktası veya kanal kullanabilir, SQL Server Express dahil olmak üzere adlandırılmış örnekler için farklı bağlantı noktası numaraları ve kanal adları atanır. Varsayılan olarak, etkinleştirildiğinde, hem adlandırılmış örnekler hem de SQL Server Express dinamik bağlantı noktalarını kullanacak şekilde yapılandırılır, yani SQL Server başlatıldığında kullanılabilir bir bağlantı noktası atanır. İsterseniz, SQL Server örneğine belirli bir bağlantı noktası atanabilir. Bağlanırken, istemciler belirli bir bağlantı noktası belirtebilir; ancak bağlantı noktası dinamik olarak atandıysa, SQL Server yeniden başlatıldığında bağlantı noktası numarası değişebilir, bu nedenle doğru bağlantı noktası numarası istemci tarafından bilinmez. ... SQL Server istemcileri SQL Server kaynakları istediğinde, istemci ağ kitaplığı 1434 numaralı bağlantı noktasını kullanarak sunucuya bir UDP iletisi gönderir. SQL Server Tarayıcısı, istenen örneğin TCP / IP bağlantı noktası veya adlandırılmış yöneltmesi ile yanıt verir.