944 063 154

Blog

Error de timeout al hacer backup de SQL Server desde Plesk

Publicado enSistemas TI

A veces es posible que al tratar de hacer una copia de seguridad a una base de datos SQL Server se produzca un error de timeout. Generalmente, esto suele deberse a que la base de datos es demasiado pesada; por lo que el tiempo que requiere la realización de la copia de respaldo puede ser mayor al establecido como máximo en el timeout en SQL desde el panel de control Plesk. En estos casos obtendremos un error similar al siguiente: The timeout period elapsed prior to the completion of the operation or de server is not responding. Para evitar la aparición de este tipo de errores tendremos que editar el «regedit».

El motivo de que se produzca dicho error es que las conexiones remotas tienen un tiempo máximo. Así, si no es posible completar el proceso en el tiempo establecido como límite aparecerá el error de timeout. La mayoría de las veces se soluciona aumentando el tiempo de la conexión que por defecto ha establecido Plesk. Para hacerlo hay que editar las siguientes entradas en el registro.

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Plesk\PSA Config\Config\ADOConnectionTimeout
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Plesk\PSA Config\Config\ADOCommandTimeout

En el caso de que no sepamos con exactitud qué valor debemos poner para evitar que se produzca un error al haber alcanzado el tiempo límite establecido, podemos ir haciendo pruebas. Por ejemplo, podemos empezar por establecer un valor similar al que tiene por defecto SQL Server. Si. aún así, la base de datos es demasiado pesada y sigue sin permitirnos hacer correctamente una copia de seguridad, tendremos que ajustar además el valor del propio SQL Server por uno más alto. También existe la opción de establecer como ilimitado el tiempo de timeout, para ello bastará con que lo pongamos a 0.

Cómo ver el timeout en SQL Server

Si en lugar de utilizar el panel de control Plesk para conocer cuál es el tiempo máximo establecido prefieres utilizar la línea de comandos, el comando para ver el timeout en SQL es:

EXEC sp_configure

El tiempo para el timeout se mide en segundos. Así que si, por ejemplo, queremos aumentarlo hasta los 1000 segundos, tendrmeos que ejecutar lo siguiente:

EXEC SP_CONFIGURE 'remote query timeout', 1000
reconfigure

Otra manera de modificar el tiempo máximo para una base de datos SQL Server es a través de sus propiedades. Para ello, localiza la base de datos y ve a la pestaña Connections. Una vez allí, dispones de un campo para establecer cuántos segundos quieres asignar como tiempo límite para la realización de tareas sin que se produzca un timeout. Cuando hayas introducido la cifra deseada, haz click en OK para que se apliquen los cambios.

timeout en SQL Server

A partir de este momento el tiempo establecido como máximo para la realización de cualquier tarea en una base de datos SQL Server habrá aumentado. Si a pesar de las modificaciones el tiempo sigue resultando insuficiente, puedes volver a aumentarlo siempre que quieras; incluso desactivarlo para evitar que se produzcan errores de timeout en SQL.