Utworzyłem aplikację C #, która korzysta z bazy danych SQL Server. Mam inne komputery podłączone do mnie i do siebie w grupie roboczej. Udostępniłem moją aplikację C # innym osobom. Po otwarciu aplikacji pojawia się błąd
Wystąpił błąd związany z siecią lub specyficzny dla instancji podczas nawiązywania połączenia z programem SQL Server. serwer nie został znaleziony lub był niedostępny
Ale aplikacja działa dobrze na moim komputerze. Ciąg połączenia, którego używam, to
Data Source=ASHISHPC1\SQLEXPRESS;Initial Catalog=ACW;User ID=ash159;Password=ashish159
który jest przechowywany w .config
pliku.
Aplikacja działa dobrze na moim komputerze. Co muszę zrobić? Włączyłem protokół TCP / IP na serwerze, ale ten sam błąd nadal występuje. Jakaś zmiana ciągu połączenia lub coś innego?
sql-server
connectivity
Społeczność
źródło
źródło
Odpowiedzi:
Istnieją dwa poziomy bezpieczeństwa, które należy zmienić, aby umożliwić zdalny dostęp.
Konfiguracja SQL Server . Domyślnie w wersjach Express, Developer i Enteprise Evaluation połączenie przez protokół TCP / IP jest wyłączone . Włącz to za pomocą SQL Server Configuration Manager.
Zapora systemu Windows . Chociaż całkowite wyłączenie zapory będzie działać dla tego komponentu, nie jest to najlepsza praktyka bezpieczeństwa (ani nie jest wymagana). (Uwaga: w tej sekcji zakładam domyślną konfigurację . Istnieje wiele ustawień, które można zmienić, co nieco wpływa na te kroki).
Istnieją dwa przypadki w zależności od typu wystąpienia SQL Server, z którym się łączysz:
Domyślna instancja (połącz tylko poprzez nazwę komputera). Dodaj regułę zezwalającą na przychodzące na porcie TCP 1433 lub w usłudze silnika bazy danych.
Nazwane wystąpienie (połącz przez nazwę komputera + nazwę wystąpienia). Dodaj regułę zezwalającą na przychodzące na porcie UDP 1434, aby uzyskać dostęp do usługi przeglądarki SQL. Dodaj regułę zezwalającą na przychodzące w usłudze silnika bazy danych.
Ta procedura jest tutaj w pełni udokumentowana , możesz też zobaczyć, jak wyjaśniam, a następnie przejść przez konfigurację nazwanego wystąpienia tutaj .
źródło
Musisz ustawić prawidłowe ustawienia sieci na swoim serwerze SQL: Aktywny protokół TCP / IP na serwerze SQL. Upewnij się również, że usługa przeglądarki serwera jest uruchomiona, ponieważ jeśli zostanie zatrzymana, nie będziesz mieć dostępu do serwera SQL- Serwer.
źródło
Upewnij się, że usługa sqlbrowser jest włączona, jak wspomniano przez bendeg, i że UDP 1434 jest otwarty na twoim komputerze, aby klienci mogli trafić do sqlbrowser w celu rozwiązania nazwy. Otwórz także port TCP / IP nazwanego wystąpienia.
Aby znaleźć port instancji, połącz się za pomocą przedrostka tcp: w Management Studio, tak jak: tcp: ASHISHPC1 \ SQLEXPRESS, a wynikiem zapytania poniżej powinien być port, który musisz udostępnić klientom w grupie roboczej.
źródło
Wyłączyłem zaporę systemu Windows dla sieci domowej i działała dobrze .. Dziękuję wszystkim .. :)
źródło
Serwer SQL musi zezwalać na połączenia TCP / IP, a Zapora systemu Windows musi być wyłączona dla sieci domowej. http://learnadvancecsharp.blogspot.in/2013/09/how-to-access-sql-server-database-from.html
źródło