Handshake de pré-login do SQL Server

Estou me conectando ao banco de dados MSSQL através do meu aplicativo ASP .NET, mas às vezes recebi esse erro ao abrir a conexão.

Tempo limite da conexão expirado. O período de tempo limite transcorreu ao tentar consumir a confirmação do handshake de pré-login. Isso pode ocorrer porque o handshake de pré-login falhou ou o servidor não pôde responder no tempo. A duração gasta ao tentar conectar-se a este servidor foi - inicialização [Pré-Login] = 3; aperto de mão = 14996;

Para resolvê-lo temporariamente, tenho que reiniciar o IIS. Estou usando esse trecho de código para se conectar ao MSSQL:

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();

            /* my commands here */

            connection.Close();
            connection.Dispose();
            SqlConnection.ClearPool(connection);
        }

Eu permiti a porta 1433 nas regras de entrada e saída, mas nenhuma alteração. Como sigo as instruções lá:

Erro de confirmação do handshake de pré-login do SQL ServerA conexão com o SQL Server funciona algumas vezes

mas nada mudou.

questionAnswers(2)

yourAnswerToTheQuestion