Bir SQL Server veritabanına aynı çalışma grubuna bağlı diğer bilgisayarlardan nasıl erişilir?


11

Bir SQL Server veritabanı kullanan bir C # uygulaması oluşturduk. Bir çalışma grubunda bana ve birbirine bağlı başka bilgisayarlarım var. C # uygulamamı başkalarıyla paylaştım. Uygulamayı açtıklarında hatayı alırlar

SQL Server'a bağlantı kurulurken ağla ilgili veya örneğe özgü bir hata oluştu. sunucu bulunamadı veya erişilebilir değildi

Ancak uygulama bilgisayarımda iyi çalışıyor. Kullandığım bağlantı dizesi

Data Source=ASHISHPC1\SQLEXPRESS;Initial Catalog=ACW;User ID=ash159;Password=ashish159

bir .configdosyada saklanır .

Uygulama bilgisayarımda iyi çalışıyor. Ne yapmalıyım? Sunucuda TCP / IP'yi etkinleştirdim ancak aynı hata devam ediyor. Bağlantı dizesinde bir değişiklik veya başka bir şey?


1
'veri kaynağı' için IP adresini kullanmayı deneyin
Mitch Wheat

1
Windows Güvenlik Duvarını Kapatmaya çalışın ... ayrıca technet.microsoft.com/en-us/library/hh231672.aspx adresini de kontrol edin .

3
Windows Güvenlik Duvarını kapatmak gerekli değildir - lütfen bu efsaneyi yaymayı bırakın! Cevabımı aşağıda görebilirsiniz.
Jon Seigel

Yanıtlar:


17

Uzaktan erişime izin vermek için değiştirilmesi gereken iki güvenlik düzeyi vardır.

  1. SQL Server yapılandırması . Express, Developer ve Enteprise Evaluation sürümlerinde varsayılan olarak, TCP / IP protokolü ile bağlantı devre dışı bırakılır . SQL Server Yapılandırma Yöneticisi'ni kullanarak bunu etkinleştirin.

  2. Windows Güvenlik Duvarı . Güvenlik duvarını tamamen devre dışı bırakmak bu bileşen için işe yarayacaktır , ancak bunu yapmak en iyi güvenlik uygulaması değildir (ne de gerekli değildir). (Not: bu bölümde varsayılan bir konfigürasyon olduğunu varsayıyorum . Bu adımları hafifçe etkileyen birçok ayar değiştirilebilir.)

    Bağlandığınız SQL Server örneği türüne bağlı olarak iki durum söz konusudur:

    1. Varsayılan örnek (yalnızca bilgisayar adına göre bağlan). 1433 numaralı TCP bağlantı noktasına veya veritabanı altyapısı hizmetine bir izin gelen kuralı ekleyin.

    2. Adlandırılmış örnek (bilgisayar adı + örnek adına göre bağlan). SQL Tarayıcı hizmetine erişmek için UDP bağlantı noktası 1434'e bir izin verme kuralı ekleyin. Veritabanı altyapısı hizmetine izin verme gelen kuralı ekleyin.

Bu prosedür tamamen belgelenmiştir burada yoksa benimle açıklamak ve daha sonra bir adlandırılmış örneği için yapılandırma aracılığıyla yürümek izleyebilirsiniz burada .


0

SQL Server'ınızda doğru Ağ Ayarlarını ayarlamanız gerekir: SQL Server'da Etkin TCP / IP Ayrıca, Sunucu Tarayıcı Hizmetinizin çalıştığından emin olun, çünkü durdurulursa SQL- Sunucusu.


0

Sqlbrowser hizmetinin bendeg tarafından belirtildiği gibi açık olduğundan ve istemcilerin adı çözmek için sqlbrowser'a vurabilmesi için UDP 1434'ün makinenizde açık olduğundan emin olun. Ayrıca adlandırılan örneğin TCP / IP bağlantı noktasını açın.

Örneğin bağlantı noktasını bulmak için Management Studio'daki tcp: önekini kullanarak şöyle bağlayın: tcp: ASHISHPC1 \ SQLEXPRESS ve aşağıdaki sorgunun sonucu, çalışma grubunuzdaki istemcilere göstermeniz gereken bağlantı noktası olmalıdır.

SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.