将 SQL Server 系统数据库存储在单独的驱动器上

将 SQL Server 系统数据库存储在单独的驱动器上

是否值得将 SQL Server 系统数据库 master、model 和 msdb 从主操作系统硬盘上的默认安装路径移动到它们自己的驱动器?

我已经将 TempDB 移到 2 个单独的驱动器上,一个用于日志文件,一个用于数据文件,我只是想知道是否值得对其他系统数据库执行相同的操作,或者这是否过度并且几乎没有任何好处?

答案1

我认为根本没有理由移动它们——它们是小型数据库,几乎一直缓存在内存中。您不会经常更改这些数据库(写入),将它们移动到其他驱动器以获得一些额外的性能。

答案2

视情况而定。在某些情况下,您可能希望将它们放在专用驱动器上(我曾经这样做过一两次)。通常这是在集群设置中,您不能将它们放在操作系统驱动器上,并且您不希望将它们放在包含用户数据库的驱动器上,因此它是一个单独的驱动器。

答案3

我想不出任何将系统数据库移动到专用驱动器的理由。

将驱动器专用于 TempDB 和所有用户数据库是一种很好(且推荐)的做法 - 这是一个非常通用的指令。

答案4

有一个大缺点将系统数据库(包括主数据库)移动到单独的驱动器。假设您的 SQL Server 位于 C 驱动器上。然后将系统数据库与用户数据库一起放在 D 驱动器上。最后,您备份到 E 驱动器(系统和用户数据库都作为压缩的 .bak 文件)。如果您的服务器出现故障,您将恢复 C 驱动器和 E 驱动器,但 D 驱动器通常不是备份计划的一部分。但是,您无法恢复到没有系统数据库的 SQL Server 实例(无法启动),而且您的系统备份被压缩为 .bak 文件(而不是 .mdf 和 .ldf)。并且您无法修复到没有系统数据库的 SQL Server 实例。因此,您必须卸载并重新安装 SQL Server 以重新创建系统数据库。

还有更多。重新安装时,必须将 SQL Server 实例恢复到服务器停机时的确切补丁级别(系统数据库是特定于版本的)。但是,Microsoft才不是保留累积更新无限期地,因此如果您使用的是较旧的 CU,并且不再提供下载,那么您的处境就很糟糕了。因此,请记住将当前补丁级别的安装保存在安全的地方(网络商店,备份计划的一部分)。

或者,我认为您可以尝试将系统数据库 .bak 文件以不同的文件名还原到另一个 SQL Server(与宕机服务器的补丁级别相同或更高?),然后分离它们并重命名。最后,将它们移动到要还原的服务器。我没有尝试过,但我读过其他人尝试过。

相关内容