大家好,我叫 Curt。我是 GSE 团队的一名高级首席工程师。本视频专门讨论 MS SQL MSDB 数据库的恢复。MSDB 数据库恢复的方法以及我们将如何执行该恢复过程。因此,有三种方法可以恢复 MSDB 数据库。这是主要负责包含作业信息、SQL Server 所需的其他任务、维护和维护以及程序级别的其他类型的内容的数据库,这些内容对数据库生产环境中的数据库可能非常重要。
这三种恢复损坏的 MSDB 数据库的方法是:第一,从备份还原。最简单的方法。我们还有机会在此数据库上使用 DBCC CheckDB,就像使用任何其他 SQL Server 数据库一样,此外,替换 MSDB 数据库文件是使 MSDB 重新联机并恢复到一致状态的另一种方法。接下来,我们来了解一下不同的选项。现在,借助 SQL Server Management Studio 中的 GUI 界面,这是一个非常简单的过程。只需转到“任务”,执行“还原”,还原“数据库”。
如果您有 SQL Server 的备份,则执行此过程很简单,可使 MSDB 恢复联机状态。现在,我们来了解一下第二种方法,它使用 MS,我应该说是使用 DBCC CheckDB。这里有三组命令。第一组命令是找出 MSDB 数据库的数据库一致性级别当前存在的位置。现在,在此特定实例中,我们没有使用损坏的 MSDB 数据库,因此当我们检查错误(分配错误和一致性错误)时,我们在这种特殊情况下看到零。
因此,是的,使用此恢复过程(演示过程)查看损坏的 MSDB 数据库可能会更有益,但我们将执行与损坏的 MSDB 数据库相同的所有步骤。所以在这种特殊情况下,我们只是做了一个检查,我们没有尝试修复任何东西。如果我们确实找到错误报告,我们希望返回下一个命令,即 DBCC CheckDB。再次记住,我们这样做是因为我们没有要还原的 MSDB 数据库的良好备份。如果我们必须尝试根据此处看到的错误进行修复,我们可以执行软修复选项,即使用 DBCC CheckDB 进行修复重建。
在此特定情况下,我们将继续运行它,以便让您了解具体情况。现在,通过对运行状况良好的数据库运行此命令,它会以相当快的速度运行,并且在找不到任何内容的情况下,它将以极快的速度运行。如果我们确实有错误,则表明数据库内存不一致,很可能会运行更长时间,但 MSDB 数据库一开始就不是一个大型数据库。在添加大量作业后,它可能要大得多,但它仍然不是一个巨大的数据库。如果我们的软修复选项不起作用,并且我们继续看到错误,我们可以求助于使用硬修复选项,即“REPAIR_ALLOW_DATA_LOSS”。
我们基本上是在告诉 SQL,我们想做到最好,我们想尽一切努力保存这个数据库。它包含数据库中的重要信息,这一点非常重要,我们允许选择允许一些数据库丢失,以使该数据库恢复联机并可用。只要运行相同的命令,它看起来就会非常类似于我们对软修复所做的作。现在,如果我们在运行硬修复后到达这一点,我们仍然看到错误,此时我们可能不得不求助于替换 MSDB 数据库文件。
在这种特定情况下,我们要转到 SQL Server 实例的安装目录。现在,每次安装 SQL Server 时,它都会安装一个“Binn”目录,在该“Binn”目录中,我们有一个“Templates”文件夹。在“Templates”文件夹中,我们有此 SQL Server 安装的所有系统数据库的数据库文件。在本例中,我们需要 MSDB 数据库文件和 MSDB 日志文件。我已经提取了它们的副本,我们将回到活动 MSDB 数据库文件所在的位置。
所以,我们想要做的非常简单。我们要做的就是替换这两个文件 - MSDB 数据文件和 MSDB 日志文件。为此,我们需要停止 SQL Server。有机会这样做非常重要,因为这使我们有机会直接管理这些文件,并允许我们引入这些替换文件。在此示例中,在本演示中,我们有两个 MSDB 文件。像这样删除损坏的数据库文件不是好的做法。我们可以在另一个系统上打开这些文件,进入这些系统并提取信息,以便继续移动这些文件。我有一个名为“MSDB_save”的文件夹。我已经复制了这些内容,所以让我在这里回溯一下。在本例中,由于我已经拥有这些内容的副本,因此我将继续删除这些内容。
现在,我们来导入模板文件,完成后,我们需要重新启动 SQL。必须这样做的缺点是其中的任何作业信息,即在安装 SQL 后开发并作为作业存在的程序级别的任何信息都消失了,因为旧的数据库文件消失了。就 MSDB 而言,每当我们必须引入模板时,它都是从零开始的,在安装之后放置在那里的作业级别的任何内容都必须在我们导入模板文件后放回那里。关于如何恢复 MS SQL MSDB 数据库的演示到此结束。我希望此视频能帮助您了解执行恢复的方法,以及如何完成恢复过程。
感谢观看。