sql-server - superado - expiró el tiempo de espera de la consulta sql server
¿Cómo puedo cambiar el tiempo de espera para una consulta ejecutada manualmente en SQL Server? (7)
Tengo un script SQL simple que ejecuto manualmente desde Visual Studio. Es un script de generación de datos, por lo que espero que tarde unos minutos en ejecutarse. Pero me sale el siguiente error.
Tiempo agotado. El período de tiempo de espera transcurrido antes de la finalización de la operación o el servidor no responde.
No quiero cambiar ninguna configuración global del servidor para poder ejecutar este único archivo. ¿Hay algún comando que pueda poner en la parte superior del archivo para aumentar el tiempo de espera solo para ese script / transacción?
No importa, puedo ejecutarlo bien con SQL Management Studio.
SQL Server esperará indefinidamente antes de volver al usuario. Es más que probable que haya un conjunto de propiedades de tiempo de espera del lado del cliente. Por ejemplo, puede establecer una propiedad de tiempo de espera para el objeto de comando ADO .
Saludos, Andy.
Si usa SQL Management Studio, hay dos configuraciones en las opciones (me refiero a Management Studio de SQL Server 2005, que utilizo):
(mi Management Studio está en alemán, así que espero haber traducido los nombres correctamente al inglés)
Puede encontrar ambos en el menú en "Extras" -> "Opciones"
En las opciones, la primera está en "Ejecución de consulta", puede establecer el "Tiempo de espera de ejecución" allí (el mío ya estaba en cero)
El segundo (y creo que esto es lo que necesita) es la primera opción en "Diseñador", dice algo así como "Anular el tiempo de espera para las actualizaciones del diseñador de tablas", puede marcar una casilla y poner un valor allí.
Hace algún tiempo, tuve un problema similar al suyo (mensaje de tiempo de espera al ejecutar ALTER TABLE en una mesa grande) y lo resolví configurando esta opción a un valor más alto.
Aumentar la propiedad CommandTimeout resolverá el problema, es decir,
SqlCommandObject.CommandTimeout = 500000
La respuesta @christian no funcionó para mí (cambiando la configuración en SQL Management Studio).
La respuesta de Biswa funcionó para mí. Incluiré código para aclarar
SqlCommand cmd = new SqlCommand("MyReport", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = 60; /* note default is 30 sec */
Aumente el tiempo de espera de la consulta y los valores de tiempo de espera de conexión en Visual Studio utilizando los procedimientos que se detallan a continuación. Cambiar el tiempo de espera de la consulta:
En Visual Studio IDE, vaya a Herramientas -> Opciones -> Herramientas de base de datos -> Consultas y visualice diseñadores. Puede desmarcar la opción Cancelar consulta larga ejecución o cambiar el valor de Cancelar después de la opción a un valor más alto. Cambiar el tiempo de espera de conexión:
En Visual Studio IDE, habilite el Explorador del servidor navegando hasta Ver -> Explorador del servidor En el Explorador del servidor, haga clic con el botón derecho en la conexión al Servidor SQL donde se están implementando los objetos CLR y seleccione Modificar conexión. Haga clic en el botón Avanzado en la ventana Modificar conexión. En la ventana Propiedades avanzadas, cambie el valor de Tiempo de espera de conexión en la sección Inicialización a un valor superior.
Solo quería aclarar pasos específicos para Microsoft SQL Server Management Studio 2005 ... Definiciones predeterminadas de ''Diseñador'' definitivamente deben ajustarse incluso si está configurado en ''0'' en la sección ''Ejecución de consulta'' ya que ''Diseñador'' reemplaza ''Ejecución de consulta'' ''configuración.
- Abra Microsoft SQL Server Management Studio 2005
- Herramientas >> Opciones
- Expandir ''Diseñadores''
- He encontrado la configuración ''Tiempo de espera de la transacción después'' a 120 ha funcionado bien para las actualizaciones de tablas con varios millones de registros.