Eliminé por error alrededor de 2,000,000 de registros de una tabla remota de SQL Server 2008. El servidor no me concede acceso a los archivos de respaldo en el lado del servidor.
¿Hay alguna forma de recuperar estos registros?
Eliminé por error alrededor de 2,000,000 de registros de una tabla remota de SQL Server 2008. El servidor no me concede acceso a los archivos de respaldo en el lado del servidor.
¿Hay alguna forma de recuperar estos registros?
Respuestas:
¿Está su base de datos en modo de recuperación completa?
En caso afirmativo, ¿está haciendo copias de seguridad del registro de transacciones?
Si no (no en modo de recuperación completa), restaure la última copia de seguridad completa como una base de datos con un nombre diferente. (No sobrescriba la base de datos que ya tiene). Desde allí, podrá restaurar los registros que estaban en línea en el momento de la copia de seguridad, pero perderá todos los cambios desde entonces.
SQL Server mantiene registros para cada registro eliminado. Puede consultar estos registros a través de la fn_dblog
función SQL Server.
SELECT [RowLog Contents 0]
FROM sys.fn_dblog(NULL, NULL)
WHERE
AllocUnitName = 'dbo.TableName'
AND Context IN ( 'LCX_MARK_AS_GHOST', 'LCX_HEAP' )
AND Operation in ( 'LOP_DELETE_ROWS' )
;
Pero este registro está en formato hexadecimal y debe convertir este formato hexadecimal a sus datos reales.
El siguiente artículo lo ayudará a recuperar los registros eliminados de la manera definida anteriormente:
http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/
@user1059637
- ¿Cuál es su actitud hacia las personas que agregan funcionalidad a su código?
Desafortunadamente, no podremos ayudarlo sin mucha más información. Pero de su pregunta, veo que ha eliminado lo que parecen ser 2 millones de registros de su base de datos. Lo más probable es que no pueda recuperar esta información, a menos que tenga un registro completo en su base de datos y compre algunas herramientas muy específicas.
Si puede describir con más detalle exactamente lo que cree que ha hecho y por qué siente que no puede recuperar los registros y puede describir la organización de su base de datos, entonces podríamos ayudarlo un poco más.
Algunos consejos generales: si cree que ha eliminado 2 millones de registros, probablemente esté un poco asustado en este momento. Por lo tanto, debe tomar un descanso de cinco minutos, calmarse y volver a tratar el problema. Además, debe decirle a su jefe de inmediato si es razonable (no despierte a alguien a las 2 a.m. para decirle) y que está trabajando en una solución. Es mejor admitir lo que sucedió que tratar desesperadamente de recuperarse y potencialmente empeorar las cosas y ocultar los detalles. Saber que su jefe puede ayudarlo de alguna manera, lo ayuda a solucionar el problema. Como dije, solo algunos consejos generales.