Recibo lo siguiente SqlException
al llamar a un procedimiento almacenado:
Error al intentar recuperar la página lógica (5: 65424) en la base de datos 2. Pertenece a la unidad de asignación 7349876362857938944, no a 4899918190390149120.
System.Data.SqlClient.SqlException ocurrió
Mensaje = "Error al intentar recuperar la página lógica (5: 65424) en la base de datos 2. Pertenece a la unidad de asignación 7349876362857938944 no a 4899918190390149120.Código de
error de origen = ". Proveedor de datos
de
cliente de SQL neto" = -2146232060 Clase = 21 Número de línea = 257
Número = 605
Procedimiento = "ispDisplayCount"
Servidor = "10.10.1.1"
Estado = 3
¿Qué significa esta excepción? ¿Hay alguna solución al problema anterior?
Aunque la base de datos a la que se hace referencia en el error anterior indica tempdb, los errores similares que hacen referencia al Mensaje 605 pueden corregirse utilizando las respuestas a continuación.
Mensaje 605, Nivel 21, Estado 3, Línea 1
Error al intentar recuperar la página lógica (1: 8687634) en la base de datos 7. Pertenece a la unidad de asignación 72057594364821504, no a 72057594052476928.
fuente
Pude resolver esto borrando las memorias caché de SQL:
Aparentemente, reiniciar el servicio SQL habría tenido el mismo efecto.
(a través de Made By SQL , reproducido aquí para ayudar a otros)
fuente
Lo más probable es que los datos dentro de las tablas estén dañados.
fuente
Lo que oiría de mucha gente es " la base de datos está dañada, debe restaurarla " sin siquiera recomendar que tome unos minutos para hacer lo siguiente; revise sus registros, averigüe cuándo se produjo el problema por primera vez, el error que precedió a esa línea, consulte la base de datos / tabla a la que pertenece la página
En mi caso, este error fue precedido por;
Una solución alternativa era rastrear el índice mencionado y eliminarlo temporalmente.
Más tarde encontré un enlace de Microsoft que describe mi problema exacto y ofrece un enlace de solución
espero que esto ayude a alguien más en el futuro
fuente