我们的生产服务器具有与.ldf
文件关联的大型.mdf
文件(300 gb)。在DEV服务器上,我们会不时使用生产备份来还原DEV数据库。由于我们的DEV服务器应该没有与其关联的许多事务,因此.ldf
文件的大小也为300 gb。我将.ldf
文件缩小为50个演出。从生产备份还原后,DEV .ldf
文件会再次增长吗?
答案 0 :(得分:4)
还原数据库备份时,数据库和日志文件的大小将与原始数据库的大小相同。因此,如果prod中的文件大小为300 GB,则将其还原到另一个数据库/服务器时将为300 GB。将prod数据库备份还原到开发环境后,通常会做两件事-缩小日志文件大小,并将恢复模型设置为SIMPLE(是否执行恢复取决于您的需求/要求)。
由于您将文件大小减小到50 GB,由于许多原因,它可能会增长到超过50 GB,但最值得注意的是:
答案 1 :(得分:1)
从生产还原后,DEV .ldf文件是否会再次增长 备份?
是的,如果您的生产数据库日志文件仍然具有这样的大小-300 GB,则dev上的数据库将再次具有该日志文件。
我们不知道您的实时数据库的基准是什么。
但是,如果您的生产数据库没有常规的繁琐的DML操作导致长时间运行的事务,请考虑将生产日志文件的大小减小到较小的大小,例如50 GB。
此外,这种减少将显着减少还原时间,因为LDF文件将在RESTORE开始写入实际数据之前在内部清零。这意味着SQL Server首先必须创建300 GB的文件并在其中写入零。与日志文件相比,数据文件可以从“即时文件初始化”中受益,并且如果将SQL Server实例服务帐户正确配置为具有足够的权限,则可以跳过这种归零。
否则,每次当您还原到开发环境时,都需要执行以下维护任务:
USE yourDev
ALTER DATABASE yourDev SET RECOVERY SIMPLE
-- assumption: only one ldf in db
DBCC SHRINKFILE(2, 1024)
答案 2 :(得分:0)
您可能有正在运行的后台任务,或者有很多打开(长时间运行)的事务,这些事务阻止了日志的备份和收缩。我敢打赌,您的新机器也会发生同样的情况。您需要找出导致事务日志减少的原因。您不必自己收缩它。