5

Estoy desarrollando una aplicación ASP.NET en VS 2010 con un servidor SQL Server 2000 (lo sé, lo sé ...)Error de conexión de SQL Server 2000: ¿Apretón de manos antes de iniciar sesión?

He estado trabajando muy bien con esta configuración durante la mayor parte de los últimos 3 meses. Sin embargo, ayer hice aplicar VS 2010 SP1 y ahora se conecta a esta base de datos hace que el siguiente error:

Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. 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=72; handshake=44924

Tenga en cuenta que he realizado ningún cambio en cualquiera de la cadena de conexión o el servidor 2000/base de datos SQL Server. Entonces debe haber una razón por la que está sucediendo desde las nuevas incorporaciones.

Mis elementos de conexión son bastante vainilla con

conn.Open(); 
SqlCommand cmd = new SqlCommand(); 
cmd.Connection = conn; 
cmd.CommandText = sqlStatement; 
SqlDataReader dr = cmd.ExecuteReader(); 
resultData.Load(dr); 
dr.Close(); 
conn.Close(); 

Y mi cadena de conexión se ve como

Data Source=192.168.1.200;Persist Security Info=false;Initial Catalog=MyDB;User Id=MyUser;Password=MyPW;Timeout=45; 

Se puede ver que he hecho cambios en el tiempo de espera, pero esto no funcionó. Pero, nuevamente, no debería tener que hacer ningún cambio. Acabo de aplicar el VS 2010 SP 1 ayer, ese ha sido el único cambio. ¡AYUDA!

+1

¿Has probado [esto] (http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not- open-a-connection-to-sql-server-microsoft-sql-server-error/# comment-82996)? –

+0

Gran sugerencia. La respuesta debe ser algo así: debe ser un cambio de cliente local el que está causando esto. Sin embargo, hice esos cambios y no resolvió el problema. –

+0

Consulte a continuación enlace http://serverfault.com/questions/423013/sql-an-error-occurred-during-the-pre-login-handshake/423087 –

Respuesta

6

Lo solucioné abriendo el puerto 1433 (SQL) en el firewall del servidor.

+0

Gran !!!!!!!! respuesta ! – Eric

1

Tuve el mismo problema que tú. Resolví este problema al permitir las conexiones entre el cliente SQL y el host SQL en el firewall. Y, por supuesto, puede otorgar acceso al puerto 1433, que se usa específicamente para SQL Server.

Cuestiones relacionadas