2009-02-04 31 views
9

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.¿Cómo puedo cambiar el tiempo de espera para una consulta ejecutada manualmente en SQL Server?

Tiempo de espera caducado. El período de tiempo de espera transcurrió antes de la finalización de la operación o el servidor no está respondiendo .

No deseo cambiar la 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?

+0

¿La secuencia de comandos es parte de un proyecto de base de datos? –

+0

El script no es parte del proyecto DB. – tpower

Respuesta

0

No importa, puedo ejecutarlo bien con SQL Management Studio.

1

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 un timeout property for the ADO command object.

Cheers, Andy.

12

Si utiliza SQL Server Management Studio, hay dos configuraciones en las opciones (me refiero al estudio de la gerencia de SQL Server 2005, que utilizo):
(mi estudio de la gerencia está en alemán, por lo que espero traduje los nombres correctamente en Inglés)

usted puede encontrar tanto en el menú "Extras" -> "opciones"

en las opciones, la primera es la sección "Ejecución de consultas", que pueda 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", que 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 tabla grande) y lo resolví configurando esta opción a un valor más alto.

+3

+1 Buena información y fácil de seguir. Estaba teniendo el mismo problema y esto lo resolvió. Buena traducción también, solo una cosa en la versión en inglés es "Herramientas" -> "Opciones". – 182764125216

+0

Esto no funcionó para mí. Proporcioné mi propia respuesta. –

4

El aumento de la propiedad CommandTimeout se resuelve el problema decir

SqlCommandObject.CommandTimeout = 500000

1

respuesta @christian no funcionó para mí (cambiando la configuración en SQL Server Management Studio).

La respuesta de Biswa funcionó para mí. Voy a incluir código para aclarar

SqlCommand cmd = new SqlCommand("MyReport", conn); 
cmd.CommandType = CommandType.StoredProcedure; 
cmd.CommandTimeout = 60; /* note default is 30 sec */ 
4

aumentar los valores de tiempo de espera y tiempo de espera de conexión de consulta en Visual Studio usando los procedimientos documentados a continuación. Cambiar el tiempo de espera de consulta:

En Visual Studio, vaya a Herramientas -> Opciones -> Herramientas de base de datos -> Los diseñadores de consultas y vistas Usted puede desactivar la opción Cancelar consulta de larga ejecución o cambiar el valor de Cancelar después de la opción a un valor mayor Cambiar el tiempo de espera de conexión:

En Visual Studio, habilite el Explorador de servidores mediante la navegación a Ver -> Explorador de servidores En el Explorador de servidores, haga clic derecho en la conexión a SQL Server en el que se despliegan los objetos CLR y elija 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.

http://support.microsoft.com/kb/2011805

0

Sólo quería aclarar los pasos específicos para Microsoft SQL Server Management Studio 2005 ... incumplimientos 'de diseño' definitivamente necesitan ser ajustados, incluso si se ha ajustado a la sección '0' en 'consulta de ejecución' como Los valores 'Designer' reemplazan la configuración 'Query Execution'.

  1. Abra Microsoft SQL Server Management Studio 2005
  2. Herramientas >> Opciones
  3. Expand 'Designers'
  4. que he encontrado ajuste 'de transacción de tiempo de espera después de' 120 ha funcionado bien para cambios a tablas con varios millones de registros.
Cuestiones relacionadas