很难为我的问题设置标题。
基本上我在托管服务器上有一个生产数据库。我有一个备份数据库的日常进程,然后我使用ftp将bak文件拉到内部服务器,然后我恢复数据库。当我恢复今天的备份没有错误时,今天的交易(在主交易表中)不存在。只有62,253行
所以我在内部服务器上创建了一个测试数据库,并将备份恢复到那里。交易就在那里。 61,286行。
所以备份很好......只是恢复工作不正常。这是我从故障恢复中得到的消息。
已将数据库名称更改为XX
流程 恢复XX 5%已处理。 处理率为10%。 15%处理。 处理率为20%。 处理了25%。 30%处理。 35%处理。 40%处理。 45%处理。 50%已处理。 55%已处理。 60%处理。 65%已处理。 70%已处理。 75%已处理。 80%已处理。 85%已处理。 90%已处理。 95%已处理。 100%处理。 处理了数据库'XX'的21352页,文件16上的文件'xy_1_data'。 处理了数据库'XX'的13696页,文件16上的文件'xx'。 处理了数据库'XX'的2页,文件16的文件'xy_1_log'。 RESTORE DATABASE在1.319秒(207.602 MB /秒)内成功处理了35050页。
所以看起来它工作正常......这是我的恢复脚本
ALTER DATABASE [XX] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [XX] SET OFFLINE;
RESTORE DATABASE [XX] FROM DISK = N'D:\SQLBAK\XX.bak' WITH FILE = 16, MOVE N'xy_1_data' TO N'D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\xx_data.mdf', MOVE N'xx' TO N'D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\xx_data2.mdf', MOVE N'xy_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\xx_log.ldf', NOUNLOAD, REPLACE, STATS = 5
ALTER DATABASE [XX] SET ONLINE;
ALTER DATABASE [XX] SET MULTI_USER;
ALTER DATABASE [XX] SET RECOVERY SIMPLE
所以不确定这里的解决方案是什么。
我应该进行增量备份和恢复吗?或者我可以使用一个选项来确保完全恢复...我已经在使用REPLACE。
我应该每天删除并重新创建数据库......因为它在一个全新的数据库上正确完全恢复
提前致谢