Sql server SQL Server 2014完全备份并恢复到另一个数据库不恢复完整数据集
很难为我的问题命名 基本上,我在托管服务器上有一个生产数据库。我有一个每天备份数据库的过程,然后我使用ftp将bak文件拉到内部服务器,然后我恢复数据库。当我在没有错误的情况下恢复今天的备份时,今天的事务(在主事务表中)不存在。只有62253行 因此,我在内部服务器上创建了一个测试数据库,并将备份恢复到该服务器。交易就在那里。61286行 所以备份很好。。。只是恢复工作不太正常。这是我从错误的恢复中得到的消息 已将数据库名称更改为XX 进程 还原XX 5%已处理。 10%已处理。 15%已处理。 20%已处理。 25%已处理。 30%已处理。 35%已处理。 40%已处理。 45%已处理。 50%已处理。 55%已处理。 60%已处理。 65%已处理。 70%已处理。 75%已处理。 80%已处理。 85%已处理。 90%已处理。 95%已处理。 100%已处理。 已处理文件16上数据库“XX”、文件“xy_1_数据”的21352页。 已处理数据库“XX”、文件16上的文件“XX”的13696页。 已处理文件16上数据库“XX”、文件“xy_1_log”的2页。 还原数据库在1.319秒(207.602 MB/秒)内成功处理了35050页 所以它看起来工作正常。。。这是我的恢复脚本Sql server SQL Server 2014完全备份并恢复到另一个数据库不恢复完整数据集,sql-server,database,Sql Server,Database,很难为我的问题命名 基本上,我在托管服务器上有一个生产数据库。我有一个每天备份数据库的过程,然后我使用ftp将bak文件拉到内部服务器,然后我恢复数据库。当我在没有错误的情况下恢复今天的备份时,今天的事务(在主事务表中)不存在。只有62253行 因此,我在内部服务器上创建了一个测试数据库,并将备份恢复到该服务器。交易就在那里。61286行 所以备份很好。。。只是恢复工作不太正常。这是我从错误的恢复中得到的消息 已将数据库名称更改为XX 进程 还原XX 5%已处理。 10%已处理。 15%已处理。
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
所以我不确定这里的解决方案是什么
我应该转到增量备份和恢复吗?或者,我是否可以使用一个选项来确保完全恢复。。。我已经在使用替换
我是否应该每天删除并重新创建数据库。。。因为它在一个全新的数据库上正确地执行了完全恢复
提前谢谢好的,我刚搞定。因为它是一个备份集。我实际上需要增加文件号。从磁盘=N'D:\SQLBAK\XX.bak'还原数据库[XX],文件=16。今天我需要使用FILE=19。所以现在我需要计算出bak文件中存在的最新文件号