我有几个用于遗留应用程序的数据库,这些数据库在当前关闭的虚拟机中运行,直到有人需要查看一些历史记录。我已将这些应用程序使用的每个数据库都设置为脱机,但我想知道:
让这些未使用的数据库处于脱机状态而不是在线但未使用但没有与它们的任何连接或针对它们运行查询是否有性能优势?
我有几个用于遗留应用程序的数据库,这些数据库在当前关闭的虚拟机中运行,直到有人需要查看一些历史记录。我已将这些应用程序使用的每个数据库都设置为脱机,但我想知道:
让这些未使用的数据库处于脱机状态而不是在线但未使用但没有与它们的任何连接或针对它们运行查询是否有性能优势?
如果数据库在内存中有对象,则使其脱机将从缓冲区中删除这些对象。这为其他数据库对象释放了内存。
此外,使其脱机可确保自动维护计划(备份、索引维护、完整性检查......)不会浪费任何资源对其进行维护。
您可以改为打开
AUTO_CLOSE
这些数据库:虽然通常会回避,但此设置对真正很少使用的数据库有效。只需访问数据库即可打开它,无需人工干预。
如果没有与数据库的连接,我认为它们没有使用 SQL 服务器资源。您可以对这些数据库进行完整备份并将它们从服务器中删除或将它们脱机,如果需要,
您可以立即将它们重新联机,但是,这将导致在所有数据库上运行的管理作业出现错误,例如备份所有用户数据库、重新索引所有用户数据库