RESTORE不会将数据库还原为原始状态

时间:2019-06-12 13:54:55

标签: sql-server tsql

我正在使用SQL Server 2012下的备份文件(〜9Gb,无法修改),经常不得不将我的库恢复到其原始状态,但是我注意到.ldf日志文件正在变得越来越巨大(今天> 20Gb),而第一次是1Gb。

我试图缩小日志文件并限制日志文件的大小,但是下次仍以20Gb的速度还原时,我已删除数据库并清除了msdb还原历史记录,并仍在还原巨大的.ldf文件。...

我正在使用代码:

  

使用[主人]

     

从磁盘还原数据库[MYBASE] = N'D:\ SQLServer \ BACKUP \ MYBACKUP.bak'WITH FILE = 1

     

将N'MYBACKUP'移动到N'D:\ SQLServer \ DATA \ MYBASE.mdf',

     

将N'MYBACKUP'移动到N'D:\ SQLServer \ LOG \ MYBASE.ldf',

     

NOUNLOAD,REPLACE,STATS = 5

     

GO

有什么想法吗?

我的代码有问题吗?

1 个答案:

答案 0 :(得分:0)

除了还原后缩小日志文件,我认为没有其他可能性。

您应该想知道的问题是,为什么日志文件变得如此之大。通常情况下,将恢复模式设置为“完全”,但是没有进行日志文件备份,或者至少很少备份,或者对数据库进行大量批处理操作(例如,大量导入),在最后一种情况下,则需要一个较大的日志文件,但是文件大小不能反映日志文件中的数据量。缩小它的副作用是,当它增长时,需要更多的磁盘I / O来增长日志文件,这会影响性能。

另一个原因可能是日志文件自动增长值设置为百分比值。因此,每个增长步骤都比以前更大。使用MB值可能会有所帮助,例如说50 MB而不是10%(但这确实取决于您的需求,请不要将这些值视情况而定为最佳)。

最良好的祝愿 迈克尔