您会出于什么原因以及在什么情况下使用“离线”功能ALTER DATABASE dbName SET OFFLINE
。
使用离线数据库可以执行哪些任务? 哪些任务只能使用离线数据库执行?
答案1
您可以将 MDF 文件移动到另一台服务器以将其放在网上。
答案2
在开发/暂存环境中,有时需要将数据库脱机,以确保您连接到应用程序中数据库的正确实例,并且没有在某处破坏连接字符串。
也就是说,在这种情况下,为不同的环境设置不同的数据库名称,并采用自动配置连接字符串的构建过程是一个更好的想法......
同样,我喜欢在停用数据库之前先将其离线一段时间,以防万一它们出于某种原因需要重新上线。当我想删除某个数据库时,开发人员会将我不知道的钩子插入到我的数据库中,我曾多次被开发人员欺骗。与删除数据库并在需要时恢复数据库相比,离线操作要轻松得多,耗时也少得多。
另一件事是作为紧急保护措施。我以前就不得不这么做。有时,您的应用程序中会发现一个严重的错误,即使不是恶意的,仍会损坏数据库中的数据。将数据库脱机是一种快速止损的方法,直到您确定了错误。然后,您可以将其重新联机以评估数据库中的损坏情况。
答案3
虽然这里的一些答案可能会让你对如何使用受限访问的数据库有所了解,但离线数据库实际上能做的事情不多。你无法更新、升级、添加或删除数据等。
答案4
您需要这样做的原因有很多。
例如,
consider changing or upgrading the actual database program/binary...
consider changing or upgrading the schema or tables..
consider changing or upgrading index's..
最重要的一点..
Is taking a backup.. to get a perfect snapshot in time..
(在某些数据库中,您只需在所有表上创建一个锁)