Tabla de ahorro de tiempo de espera en SQL Server

16

Estoy tratando de agregar una columna a una tabla con muchos datos en SQL Server 2005, usando SSMS.

Así que busco en la tabla, selecciono Modificar y agrego la nueva columna. Luego, cuando presiono Guardar, aparece la siguiente advertencia:

Guardar los cambios de definición en las tablas con grandes cantidades de datos podría llevar una cantidad considerable de tiempo. Mientras se guardan los cambios, los datos de la tabla no serán accesibles

Estoy de acuerdo con eso, el DB está desconectado y tengo todo el tiempo del mundo, así que presiono Sí.

Sin embargo, la operación luego se agota después de aproximadamente 30 segundos con este mensaje:

No se puede modificar la tabla. Tiempo agotado. El tiempo de espera transcurrido antes de la finalización de la operación o el servidor no responde.

Luego, cuando presiono OK:

Usuario cancelado fuera del cuadro de diálogo guardar (Herramientas de base de datos de MS Visual)

No entiendo eso. He establecido el tiempo de espera de ejecución en 0 (infinito) tanto en el cuadro de diálogo de conexión SSMS como en Herramientas -> Opciones -> Ejecución de consulta -> SQL Server. ¿Cuál es el punto de establecer un tiempo de espera de ejecución si simplemente se ignora?

¿Alguien sabe qué valor de tiempo de espera se utiliza aquí y cómo puedo configurarlo?

Tor Haugen
fuente

Respuestas:

27

Suena como un ajuste de tiempo de espera. Por lo tanto, su SSMS considera que tarda demasiado y cancela la conexión por usted. El servidor SQL vuelve a funcionar. Pero hay ayuda. No eres la primera persona en encontrar esto.

Ver aquí .

Para todos los que no quieren hacer clic en el enlace. Aquí está la respuesta ganadora de precios:

Después de acertar con el mismo error, me topé con la configuración actual.

En Management Studio, desde el menú Herramientas, seleccione Opciones, luego haga clic en "Diseñadores". Hay una opción llamada "Anular el valor de tiempo de espera de la cadena de conexión para las actualizaciones del diseñador de tablas:" En el cuadro "Tiempo de espera de transacción después de:", verá los 30 segundos mágicos

Peter Schuetze
fuente
6

//HAZ LO SIGUIENTE:

Abra el estudio de administración de SQL Server -> Menú Herramientas -> Opciones -> pestaña Diseñadores -> Diseñador de tablas y bases de datos -> Aumente el tiempo de espera de 30 segundos a 65535 segundos .--> Aceptar

// Ahora puedes guardar los cambios de tu tabla. // Espero que eso ayude, y mira mi blog @: //www.ogolla.blogspot.com


fuente
1
Wow, esa es una increíble configuración de tiempo de espera de más de 18 horas. ¡Hora de tomar una siesta!
Peter Schuetze
0

SSMS no debe usarse para modificaciones de datos generales. Póngase cómodo con T-SQL y agregue la columna como se sugiere a continuación.

ALTER TABLE TableName ADD NewColumn INT

SSMS en realidad está creando una nueva tabla con todas las columnas, importando datos a la nueva tabla y descartando la tabla anterior. Incluso si tiene todo el tiempo del mundo, si hay una manera eficiente de hacer las cosas, debe usar el método correcto. Para evitar este desastre, en SQL Server 2008 no se permitirá el método GUI IIRC.

Sankar Reddy
fuente
3
Te entiendo. Pero prefiero tener mis columnas en un orden específico. Tonto, podrías pensar, pero ahí lo tienes. Usando ALTER TABLE, la nueva columna se agrega al final. Supongo que es por eso que SSMS debe abandonar y volver a crear la tabla, de hecho.
Tor Haugen