不小心删除了数据,于是对不小心数据库误删除进行了大概的研究 总结有如下思路:
查看db的恢复模式
SELECT recovery_model,recovery_model_desc,*
FROM sys.databases
删除前开始事务
BEGIN TRANSACTION
DELETE FROM table_name WHERE condition;
ROLLBACK TRANSACTION;
一般都配置了这个 知道db路径复制
RESTORE DATABASE RecoveryDB FROM DISK = 'E:\x.mdf' WITH NORECOVERY;
RESTORE LOG RecoveryDB FROM DISK = 'E:\x_log.ldf' WITH STOPAT = '2024-10-22 15:30:00', NORECOVERY;
RESTORE DATABASE TempDB FROM DISK = '完整备份文件路径' WITH NORECOVERY;
其他方法:
快照
RESTORE DATABASE db_name FROM DATABASE_SNAPSHOT = 'snapshot_name';
触发器 拦截删除操作 移动到临时表
工具:
查找已删除的记录:
第三方工具(如ApexSQL Log、Redgate等)查看事务日志,找出被删除的记录并导出。
网友评论