如果您必须从备份中恢复并从头开始构建数据库服务器,主数据库备份对于恢复 MS SQL 服务器是否至关重要?

如果您必须从备份中恢复并从头开始构建数据库服务器,主数据库备份对于恢复 MS SQL 服务器是否至关重要?

Commvault 合作伙伴支持建议我关闭主数据库的备份,因为日志文件被锁定导致备份失败。

以下是给出的建议:

“该消息是由于 Commvault 无法备份主数据库的事务日志而导致的。如果这种情况间歇性发生,则可能是某些东西锁定了事务日志,从而阻止 SQL iData 代理访问日志。通常,主数据库只是一个模板,不会被任何应用程序使用(需要使用 SQL 数据库的应用程序会自行创建),因此阻止备份它应该不会有什么坏处。您可以通过指定不在 SQL 数据代理的主副本中备份它来做到这一点”

以下是我收到的错误。

sqlxx SQL 服务器/

SQLxx 不适用/

系统数据库 19856*

(CWE)交易日志 N/A 01/08/2010 19:00:16

(2010/01/08 19:00:18) 2010/01/08 19:03:15

(2010 年 1 月 8 日 19:03:14)1.44 MB 0:01:11 0.071 2 0 1

ITD014L2

失败原因:

• 错误代码 [30:325]:备份期间遇到错误。错误:[错误:[Microsoft][ODBC SQL Server 驱动程序][SQL Server]无法备份主数据库的日志。请改用 BACKUP DATABASE。[Microsoft][ODBC SQL Server 驱动程序][SQL Server]BACKUP LOG 异常终止。]

作业选项:创建新索引、启动新媒体、备份所有子客户端、截断日志、跟踪挂载点、备份受系统文件保护的文件、备份系统状态数据时停止 DHCP 服务、备份系统状态数据时停止 WINS 服务相关事件:

• 79714 [backupxx/JobManager] [01/08/2010 19:03:15]: 备份作业 [19856] 已完成。客户端 [sqlxx]、代理类型 [SQL Server]、子客户端 [系统 DBs]、备份级别 [事务日志]、对象 [2]、失败 [1]、持续时间 [00:02:59]、总大小 [1.44 MB]、使用的介质或装载路径 [ITD014L2]。

• 79712 [sqlxx/SQLiDA] [01/08/2010 19:01:53]: 备份期间遇到错误。错误:[错误:[Microsoft][ODBC SQL Server 驱动程序][SQL Server]无法备份主数据库的日志。请改用 BACKUP DATABASE。[Microsoft][ODBC SQL Server 驱动程序][SQL Server]BACKUP LOG 异常终止。]

• 79711 [sqlxx/SQLiDA] [01/08/2010 19:01:51]: 查询结果 [[Microsoft][ODBC SQL Server Driver][SQL Server]无法备份主数据库的日志。请改用 BACKUP DATABASE。[Microsoft][ODBC SQL Server Driver][SQL Server]BACKUP LOG 异常终止。]。

• 79707 [backupxx/JobManager] [01/08/2010 19:00:15]: 客户端 [sqlxx]、iDataAgent [SQL Server]、实例 [SQLxx]、子客户端 [系统 DBs]、备份级别 [事务日志] 收到了新的备份请求。

文件备份失败:

• 备份数据库 [master] 失败

请指教,谢谢。

答案1

不,不要停止备份主数据库!虽然大多数应用程序不直接与主数据库交互,但主数据库包含服务器、数据库等各种事物的当前状态数据。这是糟糕的建议,以至于我会认真考虑放弃他们的产品。作为一名备份产品的支持代理,我真的很惊讶。

模型是模板数据库,而不是主数据库。主数据库对于服务器正常运行至关重要(也就是说,完全正常运行)。如果主数据库发生问题,而您又没有最近的副本可供恢复,那么您的服务器将崩溃,您需要重建、重新连接所有数据库等。

答案2

+1。哇!Commvault 合作伙伴支持的建议令人震惊。主数据库掌握着王国的钥匙(数据库信息、登录信息、服务器信息等)。没有它,您实际上就完蛋了。正如其他人所说,主数据库、模型数据库和 msdb 数据库应设置为简单恢复模式,因此不能执行事务日志备份,只能执行数据库备份。如果您尝试备份事务日志,则备份作业或维护计划将在该步骤失败。此外,在使用第三方备份软件(BackupExec、Commvault 等)备份 SQL Server 时,应安装和使用适当的应用程序代理(SQL Agent),并且不应直接在文件级别备份数据库文件(mdf、ldf)。

答案3

从日志消息来看,他们似乎正在尝试在 master 数据库上运行事务日志备份 (BACKUP LOG)。Master(与 model 和 msdb 一样)需要处于简单恢复模式,该模式禁止事务日志备份。您只需要在系统数据库上执行完整备份 (BACKUP DATABASE)。

我肯定会确保定期备份 - master 存储了服务器的所有配置信息,如果没有它,如果发生重大故障,您将不得不从头开始配置几乎所有内容。我听过有人说 master 不需要每天备份(只有当您进行系统级更改时它才会更改),但我确实将它纳入了我所有的日常维护计划中,这样我就不会忘记备份它。

答案4

这个建议就像有人告诉你不要备份系统状态,因为如果你拥有所有数据,你就不需要它来重建服务器。简直太愚蠢了。

当然,你可以重建没有主数据库的服务器,但随后需要重新配置一切从头开始;这不仅意味着附加数据库和设置系统参数,还意味着重新创建登录并分配权限。

相关内容