Troubleshooting: Timeout Expired
Błąd "Upłynął limit czasu" najczęściej występuje, gdy wystąpienie SQL Server Database Engine nie działa, gdy nazwa serwera została niepoprawnie wpisana lub gdy występują problemy z siecią lub zapory.
Tekst błędu
W SQL Server Management Studio Ten błąd pojawia się jako:
"Nie może połączyć się z <nazwa_serwera>."
"Upłynął limit czasu.Limit czasu upłynął przed ukończeniem operacji lub serwer nie odpowiada.(Microsoft SQL Server, błąd: -2)"
Z SQLCMD, timeout możliwych błędów można zaliczyć:
"Interfejsy sieciowe SQL: Błąd lokalizowanie określone wystąpienie/serwera"
"Sqlcmd: Błąd: Microsoft SQL Server Klient macierzysty: Klient nie może ustanowić połączenia. „
"Sqlcmd: Błąd: Microsoft SQL Server Klient macierzysty: Upłynął limit czasu logowania. „
"Nie można otworzyć połączenia SQL Server"
"Wystąpił błąd podczas nawiązywania połączenia z serwerem.Podczas łączenia się z SQL Server, ten błąd może być spowodowane faktem, że zgodnie z ustawieniami domyślnymi SQL Servernie zezwala na połączenia zdalne. „
Typowe przyczyny tego błędu
Przyczyna |
Rozwiązanie |
|---|---|
Nazwa serwera została niepoprawnie wpisana. |
Spróbuj ponownie, z poprawną nazwa serwera. |
The SQL Server usługa on the server is not running. |
Uruchamianie programu SQL Server Database Engine. |
Port TCP/IP dla Database Engine wystąpienie jest blokowany przez zaporę. |
Skonfiguruj zaporę tak, aby zezwolić na dostęp do Database Engine. |
Database Engine nie nasłuchuje na porcie 1433, ponieważ została ona wcześniej zmieniona lub ponieważ nie jest domyślnym wystąpienie, SQL Server Usługa przeglądarki nie jest uruchomiona. |
Początkowa albo SQL Server Przeglądarka usługa lub łączenia, określającą liczbę portów TCP/IP. |
The SQL Server Browser usługa is running but UDP port 1434 is blocked by a firewall. |
Skonfiguruj zaporę, aby zezwolić na dostęp do portu 1434 UPD na serwerze albo połączenia, określ numer portu TCP/IP. |
Klient i serwer nie są skonfigurowane do korzystania z tego samego protokół sieciowego. |
Za pomocą SQL Server Menedżer konfiguracja, upewnij się, że zarówno na serwerze, jak i komputery klienckie mają co najmniej jeden włączony protokół wspólnych. |
W sieci nie można rozpoznać nazwa serwera, na adres IP.To może być badane przy użyciu programu PING. |
Rozwiązać problem z rozpoznawaniem nazw komputerów w sieci lub połączyć się przy użyciu adresu IP serwera.Nie jest to SQL Server Wystąpił problem. Aby uzyskać pomoc skontaktuj się w dokumentacji systemu Windows lub z administratorem sieci. |
W sieci nie będą mogli łączyć się przy użyciu adresu IP.To może być badane przy użyciu programu PING. |
Rozwiązać problem protokołu TCP/IP w sieci.Nie jest to SQL Server Wystąpił problem. Aby uzyskać pomoc skontaktuj się w dokumentacji systemu Windows lub z administratorem sieci. |
Nietypowe błędy
Wiele adresów IP serwerów
Klienci na Windows Vista lub Windows Server 2008 może otrzymać ten błąd podczas łączenia się z wystąpienie nazwane z SQL Server który jest instalowany w klastrze lub na komputerze bez klastrów z wieloma adresami IP. Ten problem może wystąpić w przypadku wszystkich wersji programu SQL Server.
Przyczyna
Podczas łączenia z nazwanego wystąpienie na komputerze zdalnym, klient używa User Datagram protokół (UDP) do łączenia się z SQL Server Usługa przeglądarki na SQL Server komputer lub klastra w celu uzyskania połączenia punktu końcowego (numer portu TCP lub nazwany potok).
Zapory na Windows Vista lub klient systemu Windows Server 2008 nie zezwalają na mapowanie luźne źródłowego dla protokołu UDP. To znaczy odpowiedzi musi zwracać z tego samego adresu IP, w której została skierowana kwerenda.Jeśli odpowiedź nie pochodzi ponownie z adresu IP, który został pierwotnie określony, klient zapory powoduje usunięcie pakiet.Ten problem może wystąpić podczas próby nawiązania połączenia z klastrowanym serwerze lub komputerze bez klastrów serwera, który ma wiele adresów IP.
W poniższej tabela przedstawiono kombinacje systemu operacyjnego, które mogą spowodować, że pakiety połączenie ma być przerwane.W ten sposób łączenia się z nazwanego wystąpienie programu SQL Server czy wystąpienie domyślne z SQL Server nie jest, nasłuchuje na porcie TCP 1433.
System operacyjny klient |
System operacyjny, który jest uruchomiony program SQL Server |
SQL Server 2008 wynik |
SQL Server 2005 wynik |
|---|---|---|---|
System Windows XP lub Windows Server 2003 |
System Windows XP lub Windows Server 2003 |
Pakiety nie są usuwane. |
Pakiety nie są usuwane. |
System Windows XP lub Windows Server 2003 |
System Windows Vista lub Windows Server 2003 |
Pakiety nie są usuwane. |
Pakiety nie są usuwane. |
Windows Vista lub Windows Server 2008 |
System Windows XP lub Windows Server 2003 |
Pakiety są opuszczane.Nie może nawiązać połączenia. |
Pakiety są opuszczane.Nie może nawiązać połączenia. |
Windows Vista lub Windows Server 2008 |
Windows Vista lub Windows Server 2008 (x 86, IA64) |
Pakiety nie są usuwane. |
Pakiety są opuszczane.Nie może nawiązać połączenia. |
Windows Vista lub Windows Server 2008 |
Windows Vista lub Windows Server 2008 (x 64) |
Pakiety są opuszczane.Nie może nawiązać połączenia. |
Pakiety są opuszczane.Nie może nawiązać połączenia. |
Rozwiązanie
Aby rozwiązać ten problem, wykonaj jedną z następujących czynności:
Określ numer portu TCP lub nazwa nazwany potok jako część nazwa serwera w ciąg połączenia.
Utworzenie wyjątku w Zaporze systemu Windows z zabezpieczeniami zaawansowanymi na komputerze klienckim.
Ostrzeżenie
Wyjątki w zaporze może dokonywać komputera lub sieci jest bardziej narażony na ataki złośliwych użytkowników lub złośliwego oprogramowania, takiego jak wirusy.Firma Microsoft nie zaleca tego obejścia, ale podaje te informacje, dzięki czemu można je zaimplementować według własnego uznania w przypadkach, gdy alternatywa jest niepraktyczne.
Wyjątek może być jedną z następujących czynności:
Dodawanie reguły wyjątku aplikacji, nawiązywania połączenia z SQL Server.
Dodawanie Reguła ruchu przychodzącego, który zezwala na ruch sieciowy z wszystkich możliwych adresów IP z SQL Server komputer lub klaster.
Turecki lub Azerbejdżański
Liczba prób połączeń może zakończyć się niepowodzeniem, gdy bieżącym językiem jest turecki lub Azerski i nazwa serwera zawiera "I".Aby uniknąć tego problemu, należy połączyć się z serwerem przy użyciu adresu IP.Jeśli jest "I" w nazwie wystąpienie, podczas nawiązywania połączenia podaj numer portu TCP/IP.Aby podłączyć się do określonego portu, za pomocą alias.
Uwaga
Aby rozwiązać problemy z połączeniami, za pomocą samouczka Tutorial: Getting Started with the Database Engine.