你可以把一个数据库在待机模式下不做BACKUP DATABASE?

有谁知道是否有一种T-SQL方式将SQL Server数据库置于备用只读模式,就像使用BACKUP DATABASE的STANDBY子句一样,只需要不做BACKUP DATABASE?

背景:我在SQL Server 2005工作组版上有一个自制的日志传送设置。 我find了一个第三方备份工具来做压缩备份。 它比BACKUP DATABASE更快,文件也小得多,但是它不能将数据库置于备用/只读模式。 在进行灾难恢复testing时,我需要此function进行故障排除。 如果我们故障转移并从我们的(现在活动的)备用服务器login到我们的主服务器,我们可以简单地在testing结束时再次故障恢复,而不是重新开始。 我可以使用BACKUP DATABASE而不是第三方工具进行日志尾部备份,但是如果我不需要,它会更干净。

不,没有办法将数据库置于备用模式,而无需同时从备份恢复数据库。 一旦数据库是可写的,你不能准备好再次恢复日志,因为LSN链已被破坏。

你可以用吗?

ALTER DATABASE your_database SET READ_ONLY

然后使用

ALTER DATABASE your_database SET READ_WRITE

当你想恢复?

我必须承认,我回复了你的另一篇文章(关于你的备份软件),现在我正在阅读这个问题,实际上我有点担心你使用的备份软件。

这是解决scheme的“太复杂”可能实际上导致灾难的事情之一。 我对你使用的备份软件一无所知,但Google很快就发现了一些糟糕的评论(但不幸的是,评论已经过时)。

所以,我不知道。 为什么要使用这个备份软件,而不是信任MS SQL Server来为你做这个工作,有什么特别的理由吗?

数据的完整性和可靠性,速度和磁盘空间肯定不会那么重要?

我在这里错过了什么?

也许保罗·兰德尔(Paul Randal)可能想要在这里发笑?