Adımlar SQL bağlantı sorunları gidermek için
Temel olarak, bir SQL Server ile bağlantı kurulamadı, sorun olabilir:
1) Ağ sorunu
2) SQL Server yapılandırma sorunu.
3) Güvenlik Duvarı sorunu
4) Müşteri sürücüsü sorunu
5) Uygulama yapılandırma sorunu.
6) Doğrulama ve oturum açma sorunu.
Genellikle müşteriler uygulamalarda bağlantı sorunu görmek, ama eğer aşağıdaki adımları takip edebilirsiniz bu çok iyi olurdu tek tek sorunları ortadan kaldırmak için ve SQL Server Veri Erişim forum bir soru sonrası gerekli.
Adım 1: Ağ sorunu
Çalışan bir şebeke ile yerel bağlantı yapmak mümkün olabilir, ama bu özel bir durum's. Uzak bağlantı için, istikrarlı bir ağ gereklidir. Uygulanabilir olan ilk şey için sorun SQL bağlantı sorunları vurmaya devam ediyoruz şebeke güvenir emin olmak ve istikrarlı. Lütfen aşağıdaki komutları çalıştırın:
ping-bir (kullanmak -4 ve -6 IPv4 ve IPv6 özellikle)
ping-bir
nslookup (tip yerel ve uzak makine adı ve IP adresi birden çok kez)
Döndürülen sonuçları üzerine herhangi bir uyuşmazlık görmek için dikkatli olun. Eğer hedef makineye Ping veremiyoruz, yüksek şans ya ağ veya bozuk hedef makinenin yayınlanmıyor sahiptir. Bu hedef makinenin bir güvenlik duvarı ve güvenlik duvarı blok paketler pisi tarafından gönderilen arkasında olsa mümkündür. (ECHO) varsayılan olarak paket Ping blok değil, Windows güvenlik duvarı. Ağdaki DNS yapılandırması ve doğruluğu bağlantı SQL için çok önemlidir. Yanlış DNS kaydı bağlantı sorunu her türlü sonra neden olabilir. Örneğin bu bağlantıyı bakın, "Can't Oluştur SSPI Bağlam" hata mesajı Zehirli DNS.
Adım 2: SQL Server yapılandırma sorunu
Emin hedef SQL Server çalıştıran yapmak ve gerek uygun protokolleri dinleyecektir. Bu sunucu üzerinde protokollerini etkinleştirmek için, SQL Server Yapılandırma Yöneticisi (SCM) kullanabilirsiniz. SQL Server, ve TCP protokolleri (ve VIA olan ve özel donanım ihtiyaçlarını nadiren kullanılır) Paylaşılan Hafıza, Borular Adlandırılmış destekler. Uzak bağlantı için, NP ve / veya TCP protokollerini etkinleştirilmelidir. Sonra SCM de protokol etkin, emin SQL Server yeniden olun lütfen.
Eğer sunucu başarıyla herhangi bir protokol üzerinde dinleme olup olmadığını görmek için dosya ErrorLog açabilirsiniz. Dosya ErrorLog yeri genellikle altında:
% ProgramFile% Microsoft SQL Server / MSSQLxx.xxx / MSSQL / Girişi
Eğer hedef SQL örneği adında bir örneği olduğunu, ayrıca emin SQL Tarayıcı hedef makinede çalışıyor yapmanız gerekir. Eğer uzak SQL Server'a erişmek için, lütfen bu durum emin olmak için yönetici sormak mümkün değildir.
Adım 3: Firewall sorunu
SQL Server makinede bir güvenlik duvarı (ya da herhangi bir yere istemci ve sunucu arasında) SQL bağlantı isteğini engellemek olabilir. Izole etmek için kolay bir yolu varsa bu bir güvenlik duvarı sorunu eğer bir kısa süreli güvenlik duvarı kapatmak olur. Uzun vadeli çözüm, SQL Server ve SQL Tarayıcı için istisna yerleştirmek.
NP protokolü için, tabi dosya paylaşımı güvenlik duvarı istisna listesinde olduğundan emin olun lütfen. Her iki dosya paylaşımı ve alt NP kullanmak SMB protokolü.
TCP protokolünün için ihtiyacınız olan SQL Server istisna haline dinleyen TCP bağlantı noktası koy.
SQL Tarayıcı için, istisna olarak UDP bağlantı noktası 1434 koyun lütfen.
Bu arada, istisna olarak da, ama Sqlservr.exe ve sqlbrowser.exe koyabilirsiniz bu tavsiye edilmez. IPSec makinalarımız da bazı paketler blok verebilecek güvenilir değildir arasında. Bu Not Güvenlik duvarı, yerel bağlantılar için bir sorun asla.
Adım 4: Müşteri sürücüsü sorunu
Bu aşamada, bazı araçlar kullanarak bağlantı test edebilirsiniz. Bu testler istemci makinede mutlaka yapılması gerekir.
Öncelikle şunu deneyin:
Telnet
TCP etkin değilse SQL sunucusu TCP portuna Telnet gerekir. Aksi takdirde, geri adım 1-3 kontrol gidin. Daha sonra, kullanmak OSQL, SQLCMD ve SQL Management Studio, SQL bağlantıları test etmek için. Eğer bu araçlar yoksa, Microsoft SQL Express indirin ve ücretsiz olarak bu araçlar elde edebilirsiniz.
OSQL (bir SQL Server 2000 ile gönderilen) MDAC kullanır.
OSQL (bir SQL Server 2005 ve 2008 birlikte) SNAC ODBC kullanır.
SQLCMD (SQL Server 2005 ve 2008) ile gönderilen SNAC OLEDB kullanır.
SQL Management Studio (SQL Server 2005 ve 2008) ile gönderilen SQLClient kullanır.
Possilbe komutunu kullanmak mümkün:
osql-E-SYour_target_machine \ Your_instance Windows Auth için
osql-Uyour_user-SYour_target_machine \ Your_instance SQL Auth için
SQLCMD burada da geçerlidir. Ayrıca, "kullanabilirsiniz Stcp: Your_target_machine, Tcp_port" TCP için, "-SNP: Your_target_machine \ Your_instance" NP, ve "-Slpc: Your_target_machine \ Your_instance" Paylaşılan hafıza için. Eğer tüm protokolleri veya yalnızca bazı özel procotols için başarısız Sen bilemez.
Bu aşamada, hata 26 ve hata 40 gibi artık genel hata mesajı görmek gerekir. Eğer NP kullanıyorsanız ve hala (Borular Sağlayıcı Adı: SQL Server için bağlantı açılamadı), aşağıdaki adımları deneyin hata 40 bakın:
a) sunucu üzerinde bir dosya paylaşımına açın.
b) Çalıştır "net view \ \" ve "net kullanım \ \ your_target_machine \ your_share" your_target_machine (Windows Explorer da) Ağ Sürücüsüne deneyebilirsiniz
Eğer) b hatası alırsanız, bu çok işletim sistemi olacak olan SQL Server özgü değildir Ağ yapılandırma sorunu olabilir. İnternette arama Lütfen bu sorunu çözmek için ilk.
Bağlantı Windows Kimlik Doğrulama ve SQL kullanarak deneyebilirsiniz. Eğer tüm araçları başarısız olan testler, bir şans olarak başarısız oturum açma bu adımları 1-3 doğru ayarlanmamışsa edilmiştir sonra adım 6 bakabilirsiniz ilgilidir.
Eğer bazı araçlar ile başarılı ama diğer araçlar ile başarısız olursa, büyük olasılıkla bir sürücü sorunun. Bizim forum bir soru gönderebilir ve bize ayrıntıları verin.
Ayrıca "kullanabilirsiniz \ windows \ system32 \ odbcad32.exe" Windows ile (bu gemiler) çeşitli sürücüleri yeni DSN ekleyerek tarafından bağlantı test etmek ama ODBC yalnızca's.
Adım 5: Uygulama sorunu
Eğer adımları 1-4 ile ancak başarılı olsa bile, uygulama sizin uygulamada, bu büyük olasılıkla bir yapılandırma sorunu hatası bakın. Olası sorunlar çift hakkında burada düşünün.
a) uygulaması 4. adımda test yaptım hesap ile aynı hesabı altında çalışıyor mu? , Sizin altında 4. adımda test denemek isteyebilirsiniz Eğer değilse o hesaba veya uygulanabilir hizmet hesabınızda değişiklik başvurunuzu mümkünse için.
b) Hangi SQL sürücüsü uygulaması kullanıyor?
c) Ne bağlantı dizesi nedir? Bağlantı dizesi sürücü için uyumlu mu? Lütfen http://www.connectionstrings.com/ referans için.
6. Adım: Kimlik ve oturum açma sorunu
Bu muhtemelen SQL bağlantı sorunları için en zor bölümüdür. Genellikle ağınızdaki yapılandırma için işletim sistemi ve SQL Server veritabanı ile ilgili's. Bunun için basit bir çözümdür ve tarafından durumda durumda bu çözmek için var. Zaten sql_protocols birkaç blogları bazı özel durumlar hakkında konuşmak ve varsa bunların Durumunuzla geçerlidir görmek kontrol edebilirsiniz. Bunun yanında, bazı şeyler göz önünde bulundurun:
Eğer SQL AUTH kullanın), karışık kimlik doğrulama etkinleştirilmiş olmalıdır. Referans http://msdn.microsoft.com/en-us/library/ms188670.aspx için bu sayfayı kontrol edin
b) emin olun giriş hesabı giriş sırasında kullanılan veritabanı erişim izni vardır ( "Initial Catalog" OLEDB olarak).
varsa daha fazla bilgi c) sisteminizde bkz Eventlog Check
Sonunda bizim forum soru gönderin. Diğer insanların size fazla yardımcı olabilir. Ne zaman sonrası soru, bu bağlantıyı bakın ve siz başarısız olan adımı gösterir. Bizim için gidermek için en önemli şeylerden bir) tam hata mesajı ve b) bağlantı dizesi vardır.
1) Ağ sorunu
2) SQL Server yapılandırma sorunu.
3) Güvenlik Duvarı sorunu
4) Müşteri sürücüsü sorunu
5) Uygulama yapılandırma sorunu.
6) Doğrulama ve oturum açma sorunu.
Genellikle müşteriler uygulamalarda bağlantı sorunu görmek, ama eğer aşağıdaki adımları takip edebilirsiniz bu çok iyi olurdu tek tek sorunları ortadan kaldırmak için ve SQL Server Veri Erişim forum bir soru sonrası gerekli.
Adım 1: Ağ sorunu
Çalışan bir şebeke ile yerel bağlantı yapmak mümkün olabilir, ama bu özel bir durum's. Uzak bağlantı için, istikrarlı bir ağ gereklidir. Uygulanabilir olan ilk şey için sorun SQL bağlantı sorunları vurmaya devam ediyoruz şebeke güvenir emin olmak ve istikrarlı. Lütfen aşağıdaki komutları çalıştırın:
ping-bir
ping-bir
nslookup (tip yerel ve uzak makine adı ve IP adresi birden çok kez)
Döndürülen sonuçları üzerine herhangi bir uyuşmazlık görmek için dikkatli olun. Eğer hedef makineye Ping veremiyoruz, yüksek şans ya ağ veya bozuk hedef makinenin yayınlanmıyor sahiptir. Bu hedef makinenin bir güvenlik duvarı ve güvenlik duvarı blok paketler pisi tarafından gönderilen arkasında olsa mümkündür. (ECHO) varsayılan olarak paket Ping blok değil, Windows güvenlik duvarı. Ağdaki DNS yapılandırması ve doğruluğu bağlantı SQL için çok önemlidir. Yanlış DNS kaydı bağlantı sorunu her türlü sonra neden olabilir. Örneğin bu bağlantıyı bakın, "Can't Oluştur SSPI Bağlam" hata mesajı Zehirli DNS.
Adım 2: SQL Server yapılandırma sorunu
Emin hedef SQL Server çalıştıran yapmak ve gerek uygun protokolleri dinleyecektir. Bu sunucu üzerinde protokollerini etkinleştirmek için, SQL Server Yapılandırma Yöneticisi (SCM) kullanabilirsiniz. SQL Server, ve TCP protokolleri (ve VIA olan ve özel donanım ihtiyaçlarını nadiren kullanılır) Paylaşılan Hafıza, Borular Adlandırılmış destekler. Uzak bağlantı için, NP ve / veya TCP protokollerini etkinleştirilmelidir. Sonra SCM de protokol etkin, emin SQL Server yeniden olun lütfen.
Eğer sunucu başarıyla herhangi bir protokol üzerinde dinleme olup olmadığını görmek için dosya ErrorLog açabilirsiniz. Dosya ErrorLog yeri genellikle altında:
% ProgramFile% Microsoft SQL Server / MSSQLxx.xxx / MSSQL / Girişi
Eğer hedef SQL örneği adında bir örneği olduğunu, ayrıca emin SQL Tarayıcı hedef makinede çalışıyor yapmanız gerekir. Eğer uzak SQL Server'a erişmek için, lütfen bu durum emin olmak için yönetici sormak mümkün değildir.
Adım 3: Firewall sorunu
SQL Server makinede bir güvenlik duvarı (ya da herhangi bir yere istemci ve sunucu arasında) SQL bağlantı isteğini engellemek olabilir. Izole etmek için kolay bir yolu varsa bu bir güvenlik duvarı sorunu eğer bir kısa süreli güvenlik duvarı kapatmak olur. Uzun vadeli çözüm, SQL Server ve SQL Tarayıcı için istisna yerleştirmek.
NP protokolü için, tabi dosya paylaşımı güvenlik duvarı istisna listesinde olduğundan emin olun lütfen. Her iki dosya paylaşımı ve alt NP kullanmak SMB protokolü.
TCP protokolünün için ihtiyacınız olan SQL Server istisna haline dinleyen TCP bağlantı noktası koy.
SQL Tarayıcı için, istisna olarak UDP bağlantı noktası 1434 koyun lütfen.
Bu arada, istisna olarak da, ama Sqlservr.exe ve sqlbrowser.exe koyabilirsiniz bu tavsiye edilmez. IPSec makinalarımız da bazı paketler blok verebilecek güvenilir değildir arasında. Bu Not Güvenlik duvarı, yerel bağlantılar için bir sorun asla.
Adım 4: Müşteri sürücüsü sorunu
Bu aşamada, bazı araçlar kullanarak bağlantı test edebilirsiniz. Bu testler istemci makinede mutlaka yapılması gerekir.
Öncelikle şunu deneyin:
Telnet
TCP etkin değilse SQL sunucusu TCP portuna Telnet gerekir. Aksi takdirde, geri adım 1-3 kontrol gidin. Daha sonra, kullanmak OSQL, SQLCMD ve SQL Management Studio, SQL bağlantıları test etmek için. Eğer bu araçlar yoksa, Microsoft SQL Express indirin ve ücretsiz olarak bu araçlar elde edebilirsiniz.
OSQL (bir SQL Server 2000 ile gönderilen) MDAC kullanır.
OSQL (bir SQL Server 2005 ve 2008 birlikte) SNAC ODBC kullanır.
SQLCMD (SQL Server 2005 ve 2008) ile gönderilen SNAC OLEDB kullanır.
SQL Management Studio (SQL Server 2005 ve 2008) ile gönderilen SQLClient kullanır.
Possilbe komutunu kullanmak mümkün:
osql-E-SYour_target_machine \ Your_instance Windows Auth için
osql-Uyour_user-SYour_target_machine \ Your_instance SQL Auth için
SQLCMD burada da geçerlidir. Ayrıca, "kullanabilirsiniz Stcp: Your_target_machine, Tcp_port" TCP için, "-SNP: Your_target_machine \ Your_instance" NP, ve "-Slpc: Your_target_machine \ Your_instance" Paylaşılan hafıza için. Eğer tüm protokolleri veya yalnızca bazı özel procotols için başarısız Sen bilemez.
Bu aşamada, hata 26 ve hata 40 gibi artık genel hata mesajı görmek gerekir. Eğer NP kullanıyorsanız ve hala (Borular Sağlayıcı Adı: SQL Server için bağlantı açılamadı), aşağıdaki adımları deneyin hata 40 bakın:
a) sunucu üzerinde bir dosya paylaşımına açın.
b) Çalıştır "net view \ \" ve "net kullanım \ \ your_target_machine \ your_share" your_target_machine (Windows Explorer da) Ağ Sürücüsüne deneyebilirsiniz
Eğer) b hatası alırsanız, bu çok işletim sistemi olacak olan SQL Server özgü değildir Ağ yapılandırma sorunu olabilir. İnternette arama Lütfen bu sorunu çözmek için ilk.
Bağlantı Windows Kimlik Doğrulama ve SQL kullanarak deneyebilirsiniz. Eğer tüm araçları başarısız olan testler, bir şans olarak başarısız oturum açma bu adımları 1-3 doğru ayarlanmamışsa edilmiştir sonra adım 6 bakabilirsiniz ilgilidir.
Eğer bazı araçlar ile başarılı ama diğer araçlar ile başarısız olursa, büyük olasılıkla bir sürücü sorunun. Bizim forum bir soru gönderebilir ve bize ayrıntıları verin.
Ayrıca "kullanabilirsiniz \ windows \ system32 \ odbcad32.exe" Windows ile (bu gemiler) çeşitli sürücüleri yeni DSN ekleyerek tarafından bağlantı test etmek ama ODBC yalnızca's.
Adım 5: Uygulama sorunu
Eğer adımları 1-4 ile ancak başarılı olsa bile, uygulama sizin uygulamada, bu büyük olasılıkla bir yapılandırma sorunu hatası bakın. Olası sorunlar çift hakkında burada düşünün.
a) uygulaması 4. adımda test yaptım hesap ile aynı hesabı altında çalışıyor mu? , Sizin altında 4. adımda test denemek isteyebilirsiniz Eğer değilse o hesaba veya uygulanabilir hizmet hesabınızda değişiklik başvurunuzu mümkünse için.
b) Hangi SQL sürücüsü uygulaması kullanıyor?
c) Ne bağlantı dizesi nedir? Bağlantı dizesi sürücü için uyumlu mu? Lütfen http://www.connectionstrings.com/ referans için.
6. Adım: Kimlik ve oturum açma sorunu
Bu muhtemelen SQL bağlantı sorunları için en zor bölümüdür. Genellikle ağınızdaki yapılandırma için işletim sistemi ve SQL Server veritabanı ile ilgili's. Bunun için basit bir çözümdür ve tarafından durumda durumda bu çözmek için var. Zaten sql_protocols birkaç blogları bazı özel durumlar hakkında konuşmak ve varsa bunların Durumunuzla geçerlidir görmek kontrol edebilirsiniz. Bunun yanında, bazı şeyler göz önünde bulundurun:
Eğer SQL AUTH kullanın), karışık kimlik doğrulama etkinleştirilmiş olmalıdır. Referans http://msdn.microsoft.com/en-us/library/ms188670.aspx için bu sayfayı kontrol edin
b) emin olun giriş hesabı giriş sırasında kullanılan veritabanı erişim izni vardır ( "Initial Catalog" OLEDB olarak).
varsa daha fazla bilgi c) sisteminizde bkz Eventlog Check
Sonunda bizim forum soru gönderin. Diğer insanların size fazla yardımcı olabilir. Ne zaman sonrası soru, bu bağlantıyı bakın ve siz başarısız olan adımı gösterir. Bizim için gidermek için en önemli şeylerden bir) tam hata mesajı ve b) bağlantı dizesi vardır.
Yorumlar