我有一台带有便宜的慢速磁盘和昂贵的快速磁盘的服务器。
我想将昂贵的磁盘用于所有对速度有重要意义的用途,例如我的数据库。
为了省钱,我想将慢速磁盘用于快慢没有太大区别的用途,例如备份。
现在我的问题是,我应该安装我的Microsoft SQL Server 位于慢速磁盘还是快速磁盘上?
(需要明确的是,无论如何我都会将数据库放在快速磁盘上,所以我的问题仅涉及安装本身的位置)
答案1
答案2
我想跟进非常好的答案 Katherine Villyard已经放上去了。
这在某种程度上取决于数据库的预期用途。
如果您预计有大量写入操作,请继续将.mdf
和.ndf
文件放在更快的磁盘上。
但是,如果您的数据库通常是静态的(例如提供 Web 内容)。并且查询变化不大,则很有可能您会在内存中获得大量查询,甚至缓存在应用程序端。此时,您最好使用更快的磁盘进行.ldf
和tempdb
备份。
同样,如果您预计会有很多大型查询,例如针对OLAP
数据库的查询,则最好将 存储.mdf
在tempdb
较快的磁盘上。并将 存储.ldf
在较慢的磁盘上,因为它通常不会成为瓶颈的一部分。
无论如何,不要费心将二进制文件放在快速磁盘上,我们通常将它们放在慢速磁盘上(如果可以避免,则不要放在系统上)。
另外,不要纠结于尝试将.ldf
和.mdf
文件都放在快速磁盘上,通常只要可能,它们就会分开。
总而言之,检查你的负载,看看最有可能的瓶颈是什么。
答案3
您搞反了。我知道这违反直觉,但您希望将备份(尤其是包括事务日志备份)放在快速磁盘上,将 mdf/ldf 文件(tempdb 除外)放在慢速磁盘上。
您可以认为 SQL Server 保存了数据的两种表示形式。MDF+LDF 文件表示数据库的当前状态,而备份(包括自上次完整备份以来的事务日志备份)表示在发生故障时恢复数据库当前状态所需的内容。您希望将这两个表示形式彼此分开,这样破坏一个表示形式的事件就不会损害另一个表示形式。
事实证明,Sql Server 性能倾向于取决于很多有关事务日志文件写入速度的更多信息及其备份访问 mdf 文件的速度。这意味着您需要认真考虑将备份放在快速驱动器上(理想情况下,您会在服务器上添加一个小型 SSD,用于存储 ldf 文件,以提高它们的速度,同时仍与备份保持分离)。不幸的是,这会让您的 MDF 文件留在慢速驱动器上,但同样:这并不像您想象的那么重要。
值得注意的是,上述内容假设您有足够的 RAM,遵循典型的工作负载,并且您计划使用完整恢复模式,而不是简单模式。此外,操作系统和已安装的 SQL Server 程序本身可放置在慢速驱动器上,当然,您可能希望在快速驱动器上有足够的空间。