使未使用的数据库脱机的性能优势

Chr*_*son 10 performance sql-server

我有几个用于遗留应用程序的数据库,它们在当前关闭的 VM 中运行,直到有人需要查看一些历史记录。我已将这些应用程序使用的每个数据库设置为离线,但我想知道:

让这些未使用的数据库处于脱机状态而不是处于联机状态但未与它们建立任何连接或对它们运行查询时未使用是否有性能优势?

bri*_*ian 13

如果数据库在内存中有对象,将其脱机将从缓冲区中删除这些对象。这为其他数据库对象释放了内存。

此外,将其脱机可确保自动维护计划(备份、索引维护、完整性检查...)不会浪费任何资源对其进行维护。


Rem*_*anu 7

您可以改为打开AUTO_CLOSE这些数据库:

当设置为 ON 时,数据库将彻底关闭,并在最后一个用户退出后释放其资源。当用户再次尝试使用数据库时,数据库会自动重新打开。当设置为 OFF 时,数据库在最后一个用户退出后保持打开状态。

虽然通常避免使用,但此设置对于真正很少使用的数据库有效。只需访问数据库即可打开它,无需人工干预。