Han*_*ank 12 sql-server backup
我继承了一个中等规模的业务关键型 SQL Server 2008 数据库,并且正在尝试围绕备份计划进行思考。(我是开发人员,不是 DBA。)
我们的系统现在设置的方式有两个备份系统:
.bak) 和每小时事务日志 ( .trn) 备份。我们保留了多组这些备份,并定期将它们运往异地。.ldf),恢复模式设置为Full. 此文件与主.mdf文件位于不同的驱动器上,但不会备份。如果发生紧急恢复(或将备份恢复到开发机器),我的程序是使用这些.bak文件,然后应用 .trn 文件。我们有一个脚本可以使这个过程相对简单。
我的问题:
.ldf文件中恢复数据库?它到底是为了什么?.ldf文件很重要吗?Str*_*DBA 17
不,不可能从 ldf 文件恢复数据库。ldf 文件将与 mdf 文件一起恢复。
不,这不是多余的,因为它们有两个不同的目的。
进行完整备份和事务日志备份很重要。仅拥有 ldf 文件的副本并不能帮助您恢复数据库。
至于ldf文件的用途,ldf就是事务日志。将其视为记录数据库更改的循环缓冲区。当您更新一行时,更改会立即写入 ldf。在未来的某个时间点(通常少于五分钟),修改后的数据会写入 mdf 文件。
如果服务器崩溃或出现电源故障,当 SQL 启动时,它会读取 ldf 并重新应用 (REDO) 这些更改。
此外,如果您有一个尚未提交的事务并且服务器崩溃,则必须撤消该事务所做的所有更改以使数据库一致。ldf 文件也有这个任务。(撤消)
我上面提到 ldf 文件是循环的。进行事务日志备份 (.trn) 会复制一部分 ldf 文件。安全创建 trn 文件后,sql 可以重用 ldf 文件的那部分。一系列 trn 备份创建了一个链,共同记录对数据库所做的每一次修改。当然,如果您从未进行过事务日志备份,那么 ldf 文件会越来越大。
在灾难情况下,还原完整备份会在完整备份完成时为您提供数据库的副本。然后,您可以按顺序恢复 trn 文件,并将数据库及时更新到任何时间点,包括上次 trn 备份。
我掩盖了一些重要的细节,但要点是 ldf 是一个记录最近对数据库所做更改的工作文件。trn 文件是 ldf 部分的副本,假设您将保持安全,以便 sql 可以重用 ldf 中的空间,并且如果灾难发生,您会将它们放在备用位置。
| 归档时间: |
|
| 查看次数: |
11107 次 |
| 最近记录: |