Mensaje de error cuando intenta modificar una tabla de gran tamaño mediante SQL Server Management Studio: "Tiempo de espera agotado"


Síntomas


Cuando intenta modificar una tabla de gran tamaño mediante el diseñador de tablas de SQL Server Management Studio, es posible que reciba un error similar al siguiente:
- No se puede modificar la tabla.
Se agotó el tiempo de espera. El período de tiempo de espera se agotó antes de la finalización de la operación o el servidor no responde.

Causa


Este comportamiento se produce debido a la configuración de tiempo de espera de transacción para el diseñador de tablas y de base de datos de SQL Server Management Studio. Puede especificar esta opción en el cuadro Tiempo de espera de transacción después de. El valor predeterminado es 30 segundos.

Observe que este valor difiere del valor del cuadro Tiempo de espera de ejecución de SQL Server Management Studio. De manera predeterminada, el valor del cuadro Tiempo de espera de ejecución para el Editor de consultas de SQL Server Management Studio es cero. De manera predeterminada, el valor del cuadro Tiempo de espera de consulta (segundos) para el Editor de consultas del Analizador de consultas de SQL de Microsoft SQL Server 2000 también es cero. Por lo tanto, el Editor de consultas espera infinitamente para que la consulta finalice y nunca se agota el tiempo de espera.

Solución


Para resolver este comportamiento, utilice uno de los métodos siguientes:
  • Haga clic en para desactivar la casilla Invalidar el valor de tiempo de espera de la cadena de conexión para actualizaciones del diseñador de tablas del diseñador de tablas y el diseñador de bases de datos de SQL Server Management Studio.
  • Especifique un valor alto en el cuadro Tiempo de espera de transacción después de para el diseñador de tablas y el diseñador de bases de datos de SQL Server Management Studio.
  • Modifique la tabla de gran tamaño mediante instrucciones Transact-SQL en el Editor de consultas de SQL Server Management Studio.
Para obtener más información sobre esta configuración, visite el siguiente sitio web de Microsoft Developer Network (MSDN):

Estado


Este comportamiento es una característica del diseño de la aplicación.

Más información


Es posible que la modificación de una tabla de gran tamaño lleve bastante tiempo. Esto se debe a que SQL Server debe realizar las acciones siguientes cuando se intenta modificar el esquema de la tabla:
  1. Crear una tabla temporal con el mismo esquema de tabla.
  2. Copiar todos los datos de la tabla real a la tabla temporal.
  3. Eliminar la tabla real.
  4. Cambiar el nombre de la tabla temporal por el nombre de la tabla real.