数据库遭遇误操作 恢复到某个时间点
检查数据库是完整恢复模型 、 有最近的备份
恢复过程:
首先设置数据库为单用户模式
USE master
go
ALTER DATABASE 某某数据库
SET RESTRICTED_USER
WITH ROLLBACK IMMEDIATE
GO
备份数据库事物日志
BACKUP LOG 某某数据库
TO DISK = N'E:\DataBase\MSSQL2005\MSSQL.1\MSSQL\Backup\某某数据库200911051056.trn'
WITH NAME = N'Transaction Log Backup'
,DESCRIPTION = 'Getting everything to current point in time.',
STATS = 10
GO
使用以前的备份恢复数据库
RESTORE DATABASE 某某数据库
FROM DISK = N'E:\DataBase\MSSQL2005\MSSQL.1\MSSQL\Backup\某某数据库\某某数据库_backup_200911050005.bak'
WITH NORECOVERY,RESTRICTED_USER
GO
恢复日志到到某个良好时间点
RESTORE LOG 某某数据库
FROM DISK = N'E:\DataBase\MSSQL2005\MSSQL.1\MSSQL\Backup\某某数据库200911051056.trn'
WITH RESTRICTED_USER,
STOPAT = '2009-11-05 10:00:00.00', RECOVERY
-- use a "known good" point in time
GO
设置数据取消单用户模式
USE master
GO
ALTER DATABASE 某某数据库
SET MULTI_USER
GO
完成