出于学习目的,我在测试环境中模拟了模型数据库的损坏。在阅读有关它的其他博客和文章时,我坚持这个问题,使用未记录的 -T3608 和 -f 标志启动 SQL Server 服务有什么区别?
当我尝试使用 -f 启动服务时,收到错误消息并且服务没有启动。但是,在-T3608的情况下,它开始顺利。对于 -T3608 标志,我读到,-T3608 启动所有数据库而不执行恢复,而 -f 以最少的配置启动实例。什么是最小配置,我找不到有关它的信息。
出于学习目的,我在测试环境中模拟了模型数据库的损坏。在阅读有关它的其他博客和文章时,我坚持这个问题,使用未记录的 -T3608 和 -f 标志启动 SQL Server 服务有什么区别?
当我尝试使用 -f 启动服务时,收到错误消息并且服务没有启动。但是,在-T3608的情况下,它开始顺利。对于 -T3608 标志,我读到,-T3608 启动所有数据库而不执行恢复,而 -f 以最少的配置启动实例。什么是最小配置,我找不到有关它的信息。
假设您分配的东西对于机器中的内存来说太大了。以锁为例。SQL Server 尝试创建那么多内存,但它不可用,因此 SQL Server 不会启动。这就是 -f 出现的情况。如今, sp_configure 内置了一些安全性来避免荒谬的值(例如最大服务器内存太低),因此实际上要首先达到这一点可能并不容易。-f 所做的另一件事是在 master.mdf 所在的位置创建 tempdb,而不是在您所说的应该创建它的位置(想象一个崩溃的 tempdb 磁盘 - 如果没有 tempdb,SQL Server 就无法生存)。
以上与启动时不执行数据库启动恢复有很大不同,这就是3608的意思。