/*
El error en cuestión:
Procedimiento: ejecutasql
Información: Código de excepción OLE IDispatch 0 de Microsoft OLE DB Provider for SQL Server: SQL Server detectó un error de E/S de coherencia lógico: valor de pageid incorrecto (se esperaba 1:100554; valor obtenido 0:0).. Ocurrió durante leer de la página (1:100554) en la base de datos con id. 5, desplazamiento 0x00000031194000, archivo 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.NATIONALSOFT\MSSQL\DATA\softrestaurant10.mdf'. El registro de errores de SQL Server o el registro de eventos del sistema puede contener mensajes adicionales con más detalles. Se trata de una condición de error grave que amenaza la integridad de la base de datos y que se debe corregir de inmediato. Ejecute una comprobación de coherencia completa de la base de datos (DBCC CHECKDB). Este error se puede haber originado por muchos factores; para obtener más información, vea los Libros en pantalla de SQL Server.
[20/05/2023 02:18:25 PM][Error: El componente Librerías National no ha podido ser iniciado.
Para continuar favor de desinstalar LibreriasNational.msi e
instalarlo nuevamente Excepción estructurada no controlada.
ErrorNo: 1429
Message: Código de excepción OLE IDispatch 0 de Microsoft OLE DB Provider for SQL Server: Error en la conexión.
UserValue:
Details: Código de excepción OLE IDispatch 0 de Microsoft OLE DB Provider f][PC: DESKTOP-1MO9KVG]
*/
Solucion:
Primero: Ejecutar DBCC CHECKDB (softrestaurant10) WITH NO_INFOMSGS, ALL_ERRORMSGS
Este comando nos va dar los errores, y de ahi nosotros tenemos que buscar las tablas que están mal. Ahi dice no es difícil
darse cuenta.
Segundo: Poner la BD en Single User ALTER DATABASE softrestaurant10 SET SINGLE_USER; GO
Tercero:
USE softrestaurant10;
GO
DBCC CHECKTABLE('cheques', REPAIR_ALLOW_DATA_LOSS) //este es uno por cada tabla del segundo punto
GO
Cuarto: Poner la BD en Multi User ALTER DATABASE softrestaurant10 SET MULTI_USER; GO