SQL Server - SQL Server 2008 devuelve filas con valores null

   
Vista:

SQL Server 2008 devuelve filas con valores null

Publicado por Alexei Humeniy (2 intervenciones) el 23/08/2009 02:19:02
Hola, estoy desarrollando un sitio Web con ASP.NET 2.0 y SQL Server 2008 y todo ha funcionado perfectamente hasta hace una semana. Intermitentemente y sin motivo aparente cuando se le pregunta a la base de datos por el contenido de alguna página ésta devuelve filas con valores null lo que provoca una ConstraintException. El sitio Web corre en un servidor HP ProLiant con 1 GB de RAM y un procesador Intel Quad Core corriendo Windows Server 2008 y al monitorearlo no se ven señales de fatiga en el servidor cuando ocurren falla (no hay mucha actividad de red ni uso de disco duro o procesador cuando ocurren las fallas)

He revisado las tablas de la base de datos pero todo está en orden y gran parte del tiempo funciona correctamente. Si realmente fuese un error de constraints la página fallaría siempre, pero no es así. En nuestro servidor de desarrollo también funciona correctamente. El problema sólo ocurre en el servidor de producción.

A veces el problema se soluciona reiniciando el proceso de trabajo de IIS y a veces se soluciona reiniciando SQL Server o a veces se soluciona solo volviendo a la normalidad apenas uno se loguea en el servidor.

Mi duda es ¿porqué motivos una consulta puede fallar sin avisar?

Saludos,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

RE:SQL Server 2008 devuelve filas con valores null

Publicado por Isaias (3180 intervenciones) el 24/08/2009 19:56:43
Habria que ver que metodo de conexion estas ocupando y si esta conexion se abre y cierra una vez ejecutada tu query.

El metodo correcto es:

-Conexion
-Ejecucion
-Recibo de informacion
-Desconexion

¿Asi se esta utlizando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL Server 2008 devuelve filas con valores null

Publicado por Alexei Humeniy (2 intervenciones) el 24/08/2009 21:57:02
Estoy usando un dataset tipado. Cuando inicio la aplicación Web se cargan los datos usando el table adapter generado por el diseñador de DataSet.

En el evento Page_Init:
-Se crea un objeto DataSet
-Se invoca al método Fill de cada TableAdapter
-Se cargan los elementos de la página

Al finalizar la ejecución, en el evento Page_PreRender se elimina el dataset con dispose y luego estableciendolo en null. Esto lo hice ahora ultimo pensando que el dataset podría seguir en memoria causando un memory leak, pero no es el caso.

El error ocurre al invocar el método fill de los table adapter. Puede ocurrir al llenar el primero o el segundo... Rara vez ocurre al llenar el tercero (son cinco) Originalmente arroja un ConstraintException. Al deshabilitar EnforceConstraints la página da error porque las filas tienen valores null en sus columnas (recibo mensajes "la columna x no admite valores null").

Cuando el sitio en producción arroja este error, si ejecuto el mismo sitio desde mi equipo de desarrollo accediendo a la misma base de datos (tuve que crear una regla en el firewall para permitirle a SQL Server salir al exterior) funciona correctamente. Ejecutando los dos sitios simultáneamente el de desarrollo funciona perfectamente mientras que el de producción arroja el error.

El monitor de recursos presenta un uso de memoria, CPU, red y disco normal aún cuando se presenta el error. Los demás sitios web de ese servidor funcionan perfectamente.

La verdad ya no sé qué hacer... lo único que me faltaría hacer sería desinstalar SQL Server 2008 y cambiarlo por el 2005 o cambiar la versión del .NET Framework.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar