Error Nolock

28/08/2009 - 20:10 por carlos albores | Informe spam
Buenas tardes, tengo un problema con una base de datos que no me permite
modificar algun stored o tabla porque me manda el siguiente error:
"No se puede continuar la exploración con NOLOCK debido al movimiento de los
datos".
Y no he podido encontrar la solucion, pocas veces me deja ingresar a
modificar y no se que este pasando.
Gracias de antemano

Preguntas similare

Leer las respuestas

#6 carlos albores
01/09/2009 - 20:59 | Informe spam
estoy usand la version de escritorio MSDE2000 y el error me lo manda cuando
quiero accesar a un SP, es decir, no pedo ni verlo para modificarlo desde el
administrador corporativo o el analizador de consultas. En el caso de las
tablas me manda el error al darle doble clic como a tres y luego si puedo
accesarlas en el caso de los SP casi nunca

Gracias

"Ruben Garrigos" wrote:

Hola Carlos,

¿Puedes dar más datos sobre la versión de SQL Server que estás
utilizando así como lo que intentas hacer cuando te da dicho error?
¿Probaste de reiniciar el servicio de SQL Server?

Un saludo,

Rubén Garrigós
Solid Quality Mentors

Blog: http://blogs.solidq.com/es/elrincondeldba

carlos albores escribió:
> hola ruben, perdona que sea tan persistente con mi error pero en realidad
> necesito de ayuda. No creo que sea lo que me comentas por lo siguiente, esta
> base de datos es una base que he utilizado ya en varios proyectos de
> desarrollo y no le he cambiado nada de lo que me dices, es decir de un
> momento a otro no puedo accesar ni siquiera en el administrador corpoativo ni
> en el analizador de consultas para modificar algun SP no se si en algun punto
> de copias y copias que he realizado de la base se haya activado eso del NOLOCK
> gracias nuevamente
>
> "Ruben Garrigos" wrote:
>
>> Hola Carlos,
>>
>> Puede que estés utilizando el "NOLOCK" indirectamente si tu aplicación o
>> capa de datos fija el nivel de aislamiento por defecto con el comando
>> "SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED". También es posible
>> que esté modificado vía código en alguna de las propiedades de los
>> objetos de la conexión:
>>
>> ADO: IsolationLevel=adXactReadUncommitted
>> ADO.NET: IsolationLevel=ReadUncommitted
>> OLEDB: isoLevel=ISOLATIONLEVEL_READUNCOMMITTED
>> ODBC: SQL_ATTR_TXN_ISOLATION=SQL_TXN_READ_UNCOMMITTED
>>
>> También puede modificarse dentro de un procedimiento almacenado de forma
>> individual por lo que tendrás que revisar también el código de éstos.
>>
>> Un saludo,
>>
>> Rubén Garrigós
>> Solid Quality Mentors
>>
>> Blog: http://blogs.solidq.com/es/elrincondeldba
>>
>> carlos albores escribió:
>>> hola ruben, antes que nada agradezco tu amable atención. El caso es que nunca
>>> he usado el nolock almenos consientemente, me podrias decir donde puedo
>>> checar en que lugar se esta utilizando, si es configuración, un stored
>>> procedure, vistas, indices, etc... gracias nuevamente
>>>
>>> "Ruben Garrigos" wrote:
>>>
>>>> Hola Carlos,
>>>>
>>>> El polémico y habitual uso/abuso de NOLOCK puede tener esas
>>>> consecuencias. El error 601 está contemplado como una vía de escape ante
>>>> algunas circunstancias problemáticas del funcionamiento de NOLOCK. Tal y
>>>> como te viene en la documentación (libros en pantalla) lo que debes
>>>> hacer es tratar dicho error igual que tratarías un deadlock, es decir,
>>>> volviendo a lanzar la petición. También puedes encontrarte con otros
>>>> errores, como el 605, por el uso/abuso de NOLOCK.
>>>>
>>>> Te recomiendo que revises el uso/abuso de NOLOCK y lo sustituyas donde
>>>> sea posible por otras alternativas como READ COMMITTED SNAPSHOT.
>>>>
>>>> Un saludo,
>>>>
>>>> Rubén Garrigós
>>>> Solid Quality Mentors
>>>>
>>>> Blog: http://blogs.solidq.com/es/elrincondeldba
>>>>
>>>> carlos albores escribió:
>>>>> Buenas tardes, tengo un problema con una base de datos que no me permite
>>>>> modificar algun stored o tabla porque me manda el siguiente error:
>>>>> "No se puede continuar la exploración con NOLOCK debido al movimiento de los
>>>>> datos".
>>>>> Y no he podido encontrar la solucion, pocas veces me deja ingresar a
>>>>> modificar y no se que este pasando.
>>>>> Gracias de antemano

Respuesta Responder a este mensaje
#7 Ruben Garrigos
02/09/2009 - 09:42 | Informe spam
Hola Carlos,

Es muy extraño lo que te ocurre. ¿Instalaste en la máquina algún
software que pueda afectar a SQL Server (antivirus, desfragmentador,
virus, etc.)?

¿Has verificado la base de datos con DBCC CHECKDB para descartar
corrupción en la base de datos? ¿Puedes hacer un backup&restore de la
base de datos en otra máquina para intentar descartar problemas de tu
entorno en particular?

Un saludo,

Rubén Garrigós
Solid Quality Mentors

Blog: http://blogs.solidq.com/es/elrincondeldba

carlos albores escribió:
estoy usand la version de escritorio MSDE2000 y el error me lo manda cuando
quiero accesar a un SP, es decir, no pedo ni verlo para modificarlo desde el
administrador corporativo o el analizador de consultas. En el caso de las
tablas me manda el error al darle doble clic como a tres y luego si puedo
accesarlas en el caso de los SP casi nunca

Gracias

"Ruben Garrigos" wrote:

Hola Carlos,

¿Puedes dar más datos sobre la versión de SQL Server que estás
utilizando así como lo que intentas hacer cuando te da dicho error?
¿Probaste de reiniciar el servicio de SQL Server?

Un saludo,

Rubén Garrigós
Solid Quality Mentors

Blog: http://blogs.solidq.com/es/elrincondeldba

carlos albores escribió:
hola ruben, perdona que sea tan persistente con mi error pero en realidad
necesito de ayuda. No creo que sea lo que me comentas por lo siguiente, esta
base de datos es una base que he utilizado ya en varios proyectos de
desarrollo y no le he cambiado nada de lo que me dices, es decir de un
momento a otro no puedo accesar ni siquiera en el administrador corpoativo ni
en el analizador de consultas para modificar algun SP no se si en algun punto
de copias y copias que he realizado de la base se haya activado eso del NOLOCK
gracias nuevamente

"Ruben Garrigos" wrote:

Hola Carlos,

Puede que estés utilizando el "NOLOCK" indirectamente si tu aplicación o
capa de datos fija el nivel de aislamiento por defecto con el comando
"SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED". También es posible
que esté modificado vía código en alguna de las propiedades de los
objetos de la conexión:

ADO: IsolationLevel=adXactReadUncommitted
ADO.NET: IsolationLevel=ReadUncommitted
OLEDB: isoLevel=ISOLATIONLEVEL_READUNCOMMITTED
ODBC: SQL_ATTR_TXN_ISOLATION=SQL_TXN_READ_UNCOMMITTED

También puede modificarse dentro de un procedimiento almacenado de forma
individual por lo que tendrás que revisar también el código de éstos.

Un saludo,

Rubén Garrigós
Solid Quality Mentors

Blog: http://blogs.solidq.com/es/elrincondeldba

carlos albores escribió:
hola ruben, antes que nada agradezco tu amable atención. El caso es que nunca
he usado el nolock almenos consientemente, me podrias decir donde puedo
checar en que lugar se esta utilizando, si es configuración, un stored
procedure, vistas, indices, etc... gracias nuevamente

"Ruben Garrigos" wrote:

Hola Carlos,

El polémico y habitual uso/abuso de NOLOCK puede tener esas
consecuencias. El error 601 está contemplado como una vía de escape ante
algunas circunstancias problemáticas del funcionamiento de NOLOCK. Tal y
como te viene en la documentación (libros en pantalla) lo que debes
hacer es tratar dicho error igual que tratarías un deadlock, es decir,
volviendo a lanzar la petición. También puedes encontrarte con otros
errores, como el 605, por el uso/abuso de NOLOCK.

Te recomiendo que revises el uso/abuso de NOLOCK y lo sustituyas donde
sea posible por otras alternativas como READ COMMITTED SNAPSHOT.

Un saludo,

Rubén Garrigós
Solid Quality Mentors

Blog: http://blogs.solidq.com/es/elrincondeldba

carlos albores escribió:
Buenas tardes, tengo un problema con una base de datos que no me permite
modificar algun stored o tabla porque me manda el siguiente error:
"No se puede continuar la exploración con NOLOCK debido al movimiento de los
datos".
Y no he podido encontrar la solucion, pocas veces me deja ingresar a
modificar y no se que este pasando.
Gracias de antemano
Respuesta Responder a este mensaje
#8 carlos albores
02/09/2009 - 22:43 | Informe spam
Hola, de hecho mas bien creo que por lo que me dices pueda ser alguna
corrupcion porque efectivamente al hacer una copia de esta base y pasarla a
otro PC ocurre lo mismo.
No le he corrido ninguna utileria porque no tengo idea de lo que sea pero le
corri el DBCC CHECKDB que describiste y de lo raro que vi es lo siguiente.

Servidor: mensaje 8928, nivel 16, estado 1, línea 1
Id. de objeto 6, Id. de índice 0: no se puede procesar la página (1:1231).
Consulte los demás errores para obtener más información.
Servidor: mensaje 8939, nivel 16, estado 1, línea 1
Error de tabla: Id. de objeto 6, Id. de índice 0, página (1:1231). Error en
prueba (IS_ON (BUF_IOERR, bp->bstat) && bp->berrcode). Los valores son 2057 y
-1.

Hay 2908 filas en 714 páginas para el objeto 'syscomments'.
CHECKDB ha encontrado 0 errores de asignación y 2 errores de consistencia en
la tabla 'syscomments' (Id. de objeto 6).

gracias por el apoyo

"Ruben Garrigos" wrote:

Hola Carlos,

Es muy extraño lo que te ocurre. ¿Instalaste en la máquina algún
software que pueda afectar a SQL Server (antivirus, desfragmentador,
virus, etc.)?

¿Has verificado la base de datos con DBCC CHECKDB para descartar
corrupción en la base de datos? ¿Puedes hacer un backup&restore de la
base de datos en otra máquina para intentar descartar problemas de tu
entorno en particular?

Un saludo,

Rubén Garrigós
Solid Quality Mentors

Blog: http://blogs.solidq.com/es/elrincondeldba

carlos albores escribió:
> estoy usand la version de escritorio MSDE2000 y el error me lo manda cuando
> quiero accesar a un SP, es decir, no pedo ni verlo para modificarlo desde el
> administrador corporativo o el analizador de consultas. En el caso de las
> tablas me manda el error al darle doble clic como a tres y luego si puedo
> accesarlas en el caso de los SP casi nunca
>
> Gracias
>
> "Ruben Garrigos" wrote:
>
>> Hola Carlos,
>>
>> ¿Puedes dar más datos sobre la versión de SQL Server que estás
>> utilizando así como lo que intentas hacer cuando te da dicho error?
>> ¿Probaste de reiniciar el servicio de SQL Server?
>>
>> Un saludo,
>>
>> Rubén Garrigós
>> Solid Quality Mentors
>>
>> Blog: http://blogs.solidq.com/es/elrincondeldba
>>
>> carlos albores escribió:
>>> hola ruben, perdona que sea tan persistente con mi error pero en realidad
>>> necesito de ayuda. No creo que sea lo que me comentas por lo siguiente, esta
>>> base de datos es una base que he utilizado ya en varios proyectos de
>>> desarrollo y no le he cambiado nada de lo que me dices, es decir de un
>>> momento a otro no puedo accesar ni siquiera en el administrador corpoativo ni
>>> en el analizador de consultas para modificar algun SP no se si en algun punto
>>> de copias y copias que he realizado de la base se haya activado eso del NOLOCK
>>> gracias nuevamente
>>>
>>> "Ruben Garrigos" wrote:
>>>
>>>> Hola Carlos,
>>>>
>>>> Puede que estés utilizando el "NOLOCK" indirectamente si tu aplicación o
>>>> capa de datos fija el nivel de aislamiento por defecto con el comando
>>>> "SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED". También es posible
>>>> que esté modificado vía código en alguna de las propiedades de los
>>>> objetos de la conexión:
>>>>
>>>> ADO: IsolationLevel=adXactReadUncommitted
>>>> ADO.NET: IsolationLevel=ReadUncommitted
>>>> OLEDB: isoLevel=ISOLATIONLEVEL_READUNCOMMITTED
>>>> ODBC: SQL_ATTR_TXN_ISOLATION=SQL_TXN_READ_UNCOMMITTED
>>>>
>>>> También puede modificarse dentro de un procedimiento almacenado de forma
>>>> individual por lo que tendrás que revisar también el código de éstos.
>>>>
>>>> Un saludo,
>>>>
>>>> Rubén Garrigós
>>>> Solid Quality Mentors
>>>>
>>>> Blog: http://blogs.solidq.com/es/elrincondeldba
>>>>
>>>> carlos albores escribió:
>>>>> hola ruben, antes que nada agradezco tu amable atención. El caso es que nunca
>>>>> he usado el nolock almenos consientemente, me podrias decir donde puedo
>>>>> checar en que lugar se esta utilizando, si es configuración, un stored
>>>>> procedure, vistas, indices, etc... gracias nuevamente
>>>>>
>>>>> "Ruben Garrigos" wrote:
>>>>>
>>>>>> Hola Carlos,
>>>>>>
>>>>>> El polémico y habitual uso/abuso de NOLOCK puede tener esas
>>>>>> consecuencias. El error 601 está contemplado como una vía de escape ante
>>>>>> algunas circunstancias problemáticas del funcionamiento de NOLOCK. Tal y
>>>>>> como te viene en la documentación (libros en pantalla) lo que debes
>>>>>> hacer es tratar dicho error igual que tratarías un deadlock, es decir,
>>>>>> volviendo a lanzar la petición. También puedes encontrarte con otros
>>>>>> errores, como el 605, por el uso/abuso de NOLOCK.
>>>>>>
>>>>>> Te recomiendo que revises el uso/abuso de NOLOCK y lo sustituyas donde
>>>>>> sea posible por otras alternativas como READ COMMITTED SNAPSHOT.
>>>>>>
>>>>>> Un saludo,
>>>>>>
>>>>>> Rubén Garrigós
>>>>>> Solid Quality Mentors
>>>>>>
>>>>>> Blog: http://blogs.solidq.com/es/elrincondeldba
>>>>>>
>>>>>> carlos albores escribió:
>>>>>>> Buenas tardes, tengo un problema con una base de datos que no me permite
>>>>>>> modificar algun stored o tabla porque me manda el siguiente error:
>>>>>>> "No se puede continuar la exploración con NOLOCK debido al movimiento de los
>>>>>>> datos".
>>>>>>> Y no he podido encontrar la solucion, pocas veces me deja ingresar a
>>>>>>> modificar y no se que este pasando.
>>>>>>> Gracias de antemano

Respuesta Responder a este mensaje
#9 carlos albores
03/09/2009 - 21:24 | Informe spam
Ni hablar amigo, tratare con lo que me dices solo me podrias indicar como
correr exactamente la instruccion que me comentas para poder recuperar algo
de la base de datos.

Gracias

"Ruben Garrigos" wrote:

Hola carlos,

Parece claro pues que tu problema es debido a corrupción en la base de datos.
Muy probablemente ésta fue debida a un fallo en el subsistema de entrada/salida
(disco duro, buses, controladora, etc.) La mejor opción sería restaurar la
base de datos de la última copia de seguridad no corrupta.

Si no despones de una base de datos de respaldo solo te queda la opción de
intentar repararla (utiliza DBCC CHECKDB con la opción REPAIR_ALLOW_DATA_LOSS).
Al encontrarse la tabla syscomments dañada es probable que pierdas tras la
reparación algún procedimiento almacenado, trigger o restricción de la base
de datos. También te recomendaría que revisases que dispones del último SP
de MSDE 2000 instalado y te plantees migrar a versiones del motor más modernas
(SQL Server 2005/2008 Express si deseas seguir en la versión gratuita).

Un saludo,

Rubén Garrigós
Solid Quality Mentors

Blog: http://blogs.solidq.com/es/elrincondeldba

> Hola, de hecho mas bien creo que por lo que me dices pueda ser alguna
> corrupcion porque efectivamente al hacer una copia de esta base y
> pasarla a
> otro PC ocurre lo mismo.
> No le he corrido ninguna utileria porque no tengo idea de lo que sea
> pero le
> corri el DBCC CHECKDB que describiste y de lo raro que vi es lo
> siguiente.
> Servidor: mensaje 8928, nivel 16, estado 1, línea 1
> Id. de objeto 6, Id. de índice 0: no se puede procesar la página
> (1:1231).
> Consulte los demás errores para obtener más información.
> Servidor: mensaje 8939, nivel 16, estado 1, línea 1
> Error de tabla: Id. de objeto 6, Id. de índice 0, página (1:1231).
> Error en
> prueba (IS_ON (BUF_IOERR, bp->bstat) && bp->berrcode). Los valores son
> 2057 y
> -1.
> Hay 2908 filas en 714 páginas para el objeto 'syscomments'.
> CHECKDB ha encontrado 0 errores de asignación y 2 errores de
> consistencia en
> la tabla 'syscomments' (Id. de objeto 6).
> gracias por el apoyo
>
> "Ruben Garrigos" wrote:
>
>> Hola Carlos,
>>
>> Es muy extraño lo que te ocurre. ¿Instalaste en la máquina algún
>> software que pueda afectar a SQL Server (antivirus, desfragmentador,
>> virus, etc.)?
>>
>> ¿Has verificado la base de datos con DBCC CHECKDB para descartar
>> corrupción en la base de datos? ¿Puedes hacer un backup&restore de la
>> base de datos en otra máquina para intentar descartar problemas de tu
>> entorno en particular?
>>
>> Un saludo,
>>
>> Rubén Garrigós
>> Solid Quality Mentors
>> Blog: http://blogs.solidq.com/es/elrincondeldba
>>
>> carlos albores escribió:
>>
>>> estoy usand la version de escritorio MSDE2000 y el error me lo manda
>>> cuando quiero accesar a un SP, es decir, no pedo ni verlo para
>>> modificarlo desde el administrador corporativo o el analizador de
>>> consultas. En el caso de las tablas me manda el error al darle doble
>>> clic como a tres y luego si puedo accesarlas en el caso de los SP
>>> casi nunca
>>>
>>> Gracias
>>>
>>> "Ruben Garrigos" wrote:
>>>
>>>> Hola Carlos,
>>>>
>>>> ¿Puedes dar más datos sobre la versión de SQL Server que estás
>>>> utilizando así como lo que intentas hacer cuando te da dicho error?
>>>> ¿Probaste de reiniciar el servicio de SQL Server?
>>>>
>>>> Un saludo,
>>>>
>>>> Rubén Garrigós
>>>> Solid Quality Mentors
>>>> Blog: http://blogs.solidq.com/es/elrincondeldba
>>>>
>>>> carlos albores escribió:
>>>>
>>>>> hola ruben, perdona que sea tan persistente con mi error pero en
>>>>> realidad necesito de ayuda. No creo que sea lo que me comentas por
>>>>> lo siguiente, esta base de datos es una base que he utilizado ya
>>>>> en varios proyectos de desarrollo y no le he cambiado nada de lo
>>>>> que me dices, es decir de un momento a otro no puedo accesar ni
>>>>> siquiera en el administrador corpoativo ni en el analizador de
>>>>> consultas para modificar algun SP no se si en algun punto de
>>>>> copias y copias que he realizado de la base se haya activado eso
>>>>> del NOLOCK gracias nuevamente
>>>>>
>>>>> "Ruben Garrigos" wrote:
>>>>>
>>>>>> Hola Carlos,
>>>>>>
>>>>>> Puede que estés utilizando el "NOLOCK" indirectamente si tu
>>>>>> aplicación o capa de datos fija el nivel de aislamiento por
>>>>>> defecto con el comando "SET TRANSACTION ISOLATION LEVEL READ
>>>>>> UNCOMMITTED". También es posible que esté modificado vía código
>>>>>> en alguna de las propiedades de los objetos de la conexión:
>>>>>>
>>>>>> ADO: IsolationLevel=adXactReadUncommitted
>>>>>> ADO.NET: IsolationLevel=ReadUncommitted
>>>>>> OLEDB: isoLevel=ISOLATIONLEVEL_READUNCOMMITTED
>>>>>> ODBC: SQL_ATTR_TXN_ISOLATION=SQL_TXN_READ_UNCOMMITTED
>>>>>> También puede modificarse dentro de un procedimiento almacenado
>>>>>> de forma individual por lo que tendrás que revisar también el
>>>>>> código de éstos.
>>>>>>
>>>>>> Un saludo,
>>>>>>
>>>>>> Rubén Garrigós
>>>>>> Solid Quality Mentors
>>>>>> Blog: http://blogs.solidq.com/es/elrincondeldba
>>>>>>
>>>>>> carlos albores escribió:
>>>>>>
>>>>>>> hola ruben, antes que nada agradezco tu amable atención. El caso
>>>>>>> es que nunca he usado el nolock almenos consientemente, me
>>>>>>> podrias decir donde puedo checar en que lugar se esta
>>>>>>> utilizando, si es configuración, un stored procedure, vistas,
>>>>>>> indices, etc... gracias nuevamente
>>>>>>>
>>>>>>> "Ruben Garrigos" wrote:
>>>>>>>
>>>>>>>> Hola Carlos,
>>>>>>>>
>>>>>>>> El polémico y habitual uso/abuso de NOLOCK puede tener esas
>>>>>>>> consecuencias. El error 601 está contemplado como una vía de
>>>>>>>> escape ante algunas circunstancias problemáticas del
>>>>>>>> funcionamiento de NOLOCK. Tal y como te viene en la
>>>>>>>> documentación (libros en pantalla) lo que debes hacer es tratar
>>>>>>>> dicho error igual que tratarías un deadlock, es decir,
>>>>>>>> volviendo a lanzar la petición. También puedes encontrarte con
>>>>>>>> otros errores, como el 605, por el uso/abuso de NOLOCK.
>>>>>>>>
>>>>>>>> Te recomiendo que revises el uso/abuso de NOLOCK y lo
>>>>>>>> sustituyas donde sea posible por otras alternativas como READ
>>>>>>>> COMMITTED SNAPSHOT.
>>>>>>>>
>>>>>>>> Un saludo,
>>>>>>>>
>>>>>>>> Rubén Garrigós
>>>>>>>> Solid Quality Mentors
>>>>>>>> Blog: http://blogs.solidq.com/es/elrincondeldba
>>>>>>>>
>>>>>>>> carlos albores escribió:
>>>>>>>>
>>>>>>>>> Buenas tardes, tengo un problema con una base de datos que no
>>>>>>>>> me permite
>>>>>>>>> modificar algun stored o tabla porque me manda el siguiente
>>>>>>>>> error:
>>>>>>>>> "No se puede continuar la exploración con NOLOCK debido al
>>>>>>>>> movimiento de los
>>>>>>>>> datos".
>>>>>>>>> Y no he podido encontrar la solucion, pocas veces me deja
>>>>>>>>> ingresar a
>>>>>>>>> modificar y no se que este pasando.
>>>>>>>>> Gracias de antemano



Respuesta Responder a este mensaje
#10 carlos albores
04/09/2009 - 03:44 | Informe spam
Perdon Ruben, No se de donde seas pero aca en México "Ni hablar" quiere decir
algo asi como que "no hay de otra", "Ni modos", "Se hizo lo que se pudo" o
almenos lo que yo quice decir es que seguire por ese camino y no el de
configurar algo, es claro que hay corrupcion en esa tabla y pues
muchisimasgracias por tu amable atencion.
Hasta luego

"carlos albores" wrote:

Buenas tardes, tengo un problema con una base de datos que no me permite
modificar algun stored o tabla porque me manda el siguiente error:
"No se puede continuar la exploración con NOLOCK debido al movimiento de los
datos".
Y no he podido encontrar la solucion, pocas veces me deja ingresar a
modificar y no se que este pasando.
Gracias de antemano
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida