Sql connection error timeout expired

Timeout expired messages when connecting to SQL Server

Applies to: В SQL Server

Before you start troubleshooting, check the prerequisites and go through the checklist.

A timeout error means that a certain operation takes longer than needed. The client application stops the operation (instead of waiting indefinitely), which may block other operations and suspend an application. This article provides resolutions for «command-timeout» and «connection-timeout» errors you receive when you connect to SQL Server.

Verify timeout expired errors

When you encounter «timeout expired» issues, you receive one or more of the following error messages:

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

System.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgment. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was [Pre-Login] initialization=23; handshake=14979;
System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out.

System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out.

Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgment. This could be because the pre-login handshake failed or the server was unable to respond back in time.
The duration spent while attempting to connect to this server was [Pre-Login] initialization=21036; handshake=0; (Microsoft SQL Server, Error: -2).

System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool.

If connections aren’t closed correctly, errors may occur. These errors occur because all pooled connections are in use, and max pool size is reached. You can avoid these errors if you follow the steps described in the exhausted the connection pool article.

The second and the third error occur when .NET Framework 4.5 or a later version is installed.

Determine the type of timeout expired errors

From a connectivity perspective, you encounter the following timeout issues:

  • Connection timeout (15 seconds by default)
  • Query or command timeout (30 seconds by default)

The default values can be set through code, connecting string, or other methods.

Before troubleshooting, view the complete call stack of the error messages to determine the error type.

See the following example of a call stack of a connection timeout:

SqlConnection.Open indicates that the client is trying to open a connection and therefore isn’t related to a query.

READ  Internal error java lang nullpointerexception фсс

See the following example of a call stack of a query or command timeout:

The SqlCommand class is used to work with a query, not a connection. The ExecuteScalar method is used to run a query. You can also see other items, such as an ExecuteReader or ExecuteNonQuery .

Troubleshoot timeout expired errors

If you encounter a query or command-timeout error, see Troubleshoot query time-out errors.

If you encounter a connection-timeout error, follow the steps:

Increase the connection-timeout parameter.

If you use an application to connect to SQL Server, increase the relevant connection-timeout parameter values and check whether the connection eventually succeeds. For example, if you use System.Data.Sqlcient , set the SqlConnection.ConnectionTimeout property to 30 or a higher value.

If you use SQL Server Management Studio (SSMS), select the Connection Properties tab in the Connect to Server dialog box, and set Connection time-out setting to a higher value.

If the connection eventually succeeds, it’s a network issue. You need to work with your network administrator to resolve the issue. After it’s resolved, you can revert to default settings in your application.

Increasing the connection timeout in the application is a possible method, but it isn’t a long-term resolution. This is because the connection occurs quickly (usually within a few milliseconds) when you try to connect to a data source.

Typical causes and resolutions for the error

The following table lists typical causes and resolutions for timeout expired errors. For more tips and suggestions, see Troubleshooting: Timeout Expired.

Источник

Сообшения «Истекло время ожидания» при подключении к SQL Server

Применяется к: SQL Server

Прежде чем приступить к устранению неполадок, рекомендуется проверить предварительные требования и ознакомиться с контрольным списком.

Ошибка времени ожидания означает, что определенная операция занимает больше времени, чем требуется. Клиентское приложение останавливает операцию (вместо бесконечного ожидания), что может блокировать другие операции и приостанавливать приложение. В этой статье приведены способы устранения ошибок «время ожидания команд» и «время ожидания подключения», которые вы получаете при подключении к SQL Server.

Проверка ошибок истечения времени ожидания

При возникновении проблемы, связанной с истечением времени ожидания, появляется одно или несколько сообщений об ошибке:

Истекло время ожидания. Срок ожидания истек до завершения операции, или сервер не отвечает.

System.Data.SqlClient.SqlException (0x80131904): истекло время ожидания подключения. Время ожидания истекло при попытке обработки подтверждения предварительного согласования. Возможно, произошел сбой во время предварительного согласования, или сервер не смог ответить вовремя. Время, затраченное на попытки подключиться к этому серверу, составило: [Pre-Login] initialization=23; handshake=14979;
System.ComponentModel.Win32Exception (0x80004005): Время ожидания операции истекло.

System.Data.SqlClient.SqlException (0x80131904): истекло время ожидания. Срок ожидания истек до завершения операции, или сервер не отвечает. System.ComponentModel.Win32Exception (0x80004005): Время ожидания операции истекло.

Истекло время ожидания соединения. Время ожидания истекло при попытке обработки подтверждения предварительного согласования. Возможно, произошел сбой во время предварительного согласования, или сервер не смог ответить вовремя.
Время, затраченное на попытку подключения к этому серверу, было [Pre-Login] initialization=21036; handshake=0; (Microsoft SQL Server, Error: -2).

Истекло время ожидания входа Время ожидания истекло до получения подключения из пула.

Если подключения закрыты неправильно, могут возникнуть ошибки. Эти ошибки возникают из-за того, что используются все подключения в пуле и достигнут максимальный размер пула. Эти ошибки можно избежать, если вы выполните действия, описанные в статье Исчерпание пула подключений .

READ  Vid 048d pid 1336 утилита для прошивки

Вторая и третья ошибка возникают, если установлена платформа .NET Framework версии 4.5 или более поздней.

Определение типа ошибок истекшего времени ожидания

С точки зрения подключения возникают следующие проблемы с временем ожидания:

  • Время ожидания подключения (по умолчанию 15 секунд)
  • Время ожидания запроса или команды (по умолчанию — 30 секунд)

Значения по умолчанию можно задать с помощью кода, строки подключения или других методов.

Перед устранением неполадок просмотрите полный стек вызовов сообщений об ошибках, чтобы определить тип ошибки.

См. следующий пример стека вызовов времени ожидания подключения:

SqlConnection.Open указывает, что клиент пытается открыть подключение и, следовательно, не связано с запросом.

См. следующий пример стека вызовов запроса или времени ожидания команды:

Этот класс SqlCommand используется для работы с запросом, а не с подключением. Этот метод ExecuteScalar используется для выполнения запроса. Вы также можете увидеть другие элементы, такие как ExecuteReader или ExecuteNonQuery .

Устранение ошибок, связанных с истечением времени ожидания

Если возникает ошибка запроса или времени ожидания команды, см. раздел Устранение ошибок времени ожидания запроса.

При возникновении ошибки времени ожидания подключения выполните следующие действия.

Увеличьте параметр времени ожидания подключения.

Если используется приложение для подключения к SQL Server, увеличьте соответствующие значения параметров времени ожидания подключения и убедитесь, что подключение в конечном итоге успешно установлено. Например, при использовании System.Data.Sqlcient задайте для свойства SqlConnection.ConnectionTimeout значение 30 или более высокое.

Если вы используете SQL Server Management Studio (SSMS), выберите вкладку Свойства подключения в диалоговом окне Подключение к серверу и задайте для Параметра времени ожидания подключения более высокое значение.

Если подключение в конечном итоге завершится успешно, то проблема вызвана сетью. Чтобы устранить эту проблему, обратитесь к администратору сети. После устранения проблемы можно вернуться к параметрам по умолчанию в приложении.

Увеличение времени ожидания подключения в приложении является возможным методом, но не является долгосрочным решением. Это связано с тем, что при попытке подключения к источнику данных подключение происходит быстро (обычно в течение нескольких миллисекунд).

Типичные причины и способы устранения ошибки

В следующей таблице перечислены типичные причины и способы устранения ошибок «Истекло время ожидания». Дополнительные советы и предложения см. в разделе Устранение неполадок: истекло время ожидания.

Источник

Сообшения «Истекло время ожидания» при подключении к SQL Server

Применяется к: SQL Server

Прежде чем приступить к устранению неполадок, рекомендуется проверить предварительные требования и ознакомиться с контрольным списком.

Ошибка времени ожидания означает, что определенная операция занимает больше времени, чем требуется. Клиентское приложение останавливает операцию (вместо бесконечного ожидания), что может блокировать другие операции и приостанавливать приложение. В этой статье приведены способы устранения ошибок «время ожидания команд» и «время ожидания подключения», которые вы получаете при подключении к SQL Server.

Проверка ошибок истечения времени ожидания

При возникновении проблемы, связанной с истечением времени ожидания, появляется одно или несколько сообщений об ошибке:

Истекло время ожидания. Срок ожидания истек до завершения операции, или сервер не отвечает.

System.Data.SqlClient.SqlException (0x80131904): истекло время ожидания подключения. Время ожидания истекло при попытке обработки подтверждения предварительного согласования. Возможно, произошел сбой во время предварительного согласования, или сервер не смог ответить вовремя. Время, затраченное на попытки подключиться к этому серверу, составило: [Pre-Login] initialization=23; handshake=14979;
System.ComponentModel.Win32Exception (0x80004005): Время ожидания операции истекло.

System.Data.SqlClient.SqlException (0x80131904): истекло время ожидания. Срок ожидания истек до завершения операции, или сервер не отвечает. System.ComponentModel.Win32Exception (0x80004005): Время ожидания операции истекло.

Истекло время ожидания соединения. Время ожидания истекло при попытке обработки подтверждения предварительного согласования. Возможно, произошел сбой во время предварительного согласования, или сервер не смог ответить вовремя.
Время, затраченное на попытку подключения к этому серверу, было [Pre-Login] initialization=21036; handshake=0; (Microsoft SQL Server, Error: -2).

Истекло время ожидания входа Время ожидания истекло до получения подключения из пула.

Если подключения закрыты неправильно, могут возникнуть ошибки. Эти ошибки возникают из-за того, что используются все подключения в пуле и достигнут максимальный размер пула. Эти ошибки можно избежать, если вы выполните действия, описанные в статье Исчерпание пула подключений .

READ  Sql сервер не найден или недоступен error 26

Вторая и третья ошибка возникают, если установлена платформа .NET Framework версии 4.5 или более поздней.

Определение типа ошибок истекшего времени ожидания

С точки зрения подключения возникают следующие проблемы с временем ожидания:

  • Время ожидания подключения (по умолчанию 15 секунд)
  • Время ожидания запроса или команды (по умолчанию — 30 секунд)

Значения по умолчанию можно задать с помощью кода, строки подключения или других методов.

Перед устранением неполадок просмотрите полный стек вызовов сообщений об ошибках, чтобы определить тип ошибки.

См. следующий пример стека вызовов времени ожидания подключения:

SqlConnection.Open указывает, что клиент пытается открыть подключение и, следовательно, не связано с запросом.

См. следующий пример стека вызовов запроса или времени ожидания команды:

Этот класс SqlCommand используется для работы с запросом, а не с подключением. Этот метод ExecuteScalar используется для выполнения запроса. Вы также можете увидеть другие элементы, такие как ExecuteReader или ExecuteNonQuery .

Устранение ошибок, связанных с истечением времени ожидания

Если возникает ошибка запроса или времени ожидания команды, см. раздел Устранение ошибок времени ожидания запроса.

При возникновении ошибки времени ожидания подключения выполните следующие действия.

Увеличьте параметр времени ожидания подключения.

Если используется приложение для подключения к SQL Server, увеличьте соответствующие значения параметров времени ожидания подключения и убедитесь, что подключение в конечном итоге успешно установлено. Например, при использовании System.Data.Sqlcient задайте для свойства SqlConnection.ConnectionTimeout значение 30 или более высокое.

Если вы используете SQL Server Management Studio (SSMS), выберите вкладку Свойства подключения в диалоговом окне Подключение к серверу и задайте для Параметра времени ожидания подключения более высокое значение.

Если подключение в конечном итоге завершится успешно, то проблема вызвана сетью. Чтобы устранить эту проблему, обратитесь к администратору сети. После устранения проблемы можно вернуться к параметрам по умолчанию в приложении.

Увеличение времени ожидания подключения в приложении является возможным методом, но не является долгосрочным решением. Это связано с тем, что при попытке подключения к источнику данных подключение происходит быстро (обычно в течение нескольких миллисекунд).

Типичные причины и способы устранения ошибки

В следующей таблице перечислены типичные причины и способы устранения ошибок «Истекло время ожидания». Дополнительные советы и предложения см. в разделе Устранение неполадок: истекло время ожидания.

Источник

Smartadm.ru