Pregunta

He usado un comando de actualización para actualizar toda la tabla en una base de datos SQL Server 2000 por error. En realidad, tenía la intención de actualizar solo una fila. Ahora todas las filas de 2000 contienen la actualización. ¿Hay alguna forma de revertir este cambio?

¿Fue útil?

Solución

A menos que haya comenzado su actualización con una transacción explícita, no.

Sin embargo, es posible que pueda usar Log Rescue . Sin embargo, no estoy seguro de si esto puede ayudarlo en este caso.

Una mejor opción podría ser restaurar una copia de seguridad en una nueva base de datos y fusionar las tablas antiguas y nuevas.

Otros consejos

No, a menos que tenga una copia de seguridad a la que volver.

He cometido ese error una vez. Ahora comienzo cada operación manual con BEGIN TRAN. Lo peor que puede pasar es que te olvides de COMPROMETERSE TRANEAR y mantener un candado sobre la mesa.

Si tiene registros de auditoría disponibles, úselos para volver al estado anterior. De lo contrario, deberá volver a su última copia de seguridad en ese momento. Hay algunos productos que le permiten examinar el registro y tomar datos específicos del Explorador de registros de Lumigent ( http://www.ssw.com.au/SSW/LogExplorer/ ) es uno, pero tienden a ser caros y no lo ayudarán de inmediato si aún no los tiene.

Si no tiene copias de seguridad actuales y / o tablas de auditoría, actualizaría mi currículum.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top