Microsoft SQL Server安装位置的重要性


10

我有一台具有便宜的慢速磁盘和昂贵的快速磁盘的服务器。

我想将昂贵的磁盘用于所有重要的快速事物,例如我的数据库。

为了省钱,我想将慢速磁盘用于无论快还是慢都没有太大区别的任何事情,例如备份。

现在,我的问题是,应该在慢速磁盘还是快速磁盘上安装 Microsoft SQL Server?

(要清楚,无论如何我都会将数据库放置在快速磁盘上,因此我的问题仅与安装本身的位置有关)


3
考虑到120gb的低写入ssd(a)更便宜,(b)超级快,(c)对于所有OS +程序都足够好,您为什么还要考虑这一点呢?2年前,我将所有操作系统都移至了120gb ssd,而当时的成本真的没有关系。现在,它不再重要了。
TomTom

您想将关键任务数据库信任到SSD磁盘吗?提醒我不要与您做生意...
Shadur

2
@Shadur太棒了。是的,我将其放置在基于SSD的RAID 10配置磁盘上,该磁盘已本地复制到其他2个磁盘上,并每晚备份到远程位置。欢迎来到十年!
Niels Brinch

@TomTom当然是正确的,但是在这种情况下,我处于一个成本敏感的情况,所以这就是为什么我什至不愿意使用这种类型的超优化。随着时间的流逝,我的问题将变得越来越不相关,因为我想这里的大多数问题都是如此。
Niels Brinch

@NielsBrinch聪明而笨拙。说真的
TomTom

Answers:


11

这有点意见,但我会将SQL Server二进制文件放在慢速磁盘上。将二进制文件放在OS磁盘上(尽管有些人讨厌),或者放在较慢的磁盘上,这是很常见的。

但是,您绝对要记住将系统数据库(尤其是tempdb)放在更快的磁盘上。实际上,单独放置tempdb也很常见。

这是符合 对夫妇 文章我发现可能对你有用。

还需要考虑事务日志备份,我为此感到不安,因为您希望将LDF存储在速度更快的磁盘上,并且还希望将备份存储在与数据库所在的磁盘不同的磁盘上,但是如果将它们放在数据库中则更好。更快的磁盘。您需要做出判断,但是我可能会备份到速度较慢的磁盘上并对此抱怨。;)


谢谢。您是说sql服务器安装(二进制文件等)是在慢速磁盘还是快速磁盘上都不会显着影响性能?
Niels Brinch

1
并不是我注意到的。这是一个相当普通的配置。
凯瑟琳·维尔德

6
Katherine是正确的,因为二进制文件本身不受IO的限制。通常,将二进制文件放在快速磁盘上可以缩短加载时间,但是由于代码是从内存中运行的,因此很少会影响常规操作速度。除非您经常重新启动服务器,否则将二进制文件放在较慢的存储中不会有太大的伤害。
Corey 2015年

@Corey非常感谢您的即时说明。这就是我想要的。
Niels Brinch

6

我想跟进Katherine Villyard已经提出的一个很好的答案

它在某种程度上取决于数据库的预期用途。
如果您期望进行大量写操作,请继续将您的.mdf.ndf文件放在更快的磁盘上。

但是,如果您的数据库是通常是完全静态的数据库(例如,提供Web内容)。而且查询变化不大,很可能您会在内存中获得大量查询,甚至缓存在应用程序端。此时你最好使用更快的磁盘你的.ldftempdb和备份。

同样,如果您期望有很多大型查询(例如对OLAP数据库的查询),则最好将.mdf,存储tempdb在更快的磁盘上。并且将它.ldf放到较慢的磁盘上,因为它通常不会成为瓶颈。

无论如何,不​​要将二进制文件放在快速磁盘上,我们通常将二进制文件放在慢速磁盘(如果可以避免的话,不在系统上)。
另外,不要挂断尝试同时将.ldf和和.mdf文件都放在快速磁盘上,通常在可能的情况下将它们分开。

因此,总而言之,请检查您的负载以查看最可能出现的瓶颈。


3

你事情倒退了。我知道这是违反直觉的,但是您想要在快速磁盘上进行备份(特别是包括事务日志备份),并在慢速磁盘上进行mdf / ldf文件(除了tempdb例外)。

您可以将其视为Sql Server保留数据的两种表示形式。MDF + LDF文件表示数据库的当前状态,而备份(包括自上次完整备份以来的事务日志备份)表示在发生故障时恢复数据库当前状态所需的内容。您希望将这两种表示形式彼此分开,因此破坏一个表示形式的事件也不会损坏另一种表示形式。

原来,SQL Server的性能往往取决于一个LOT更多你能多快写事务日志文件和它们的备份了你可以如何快速访问MDF文件。这意味着您需要强烈考虑在快速驱动器上放置备份(理想情况下,您将在服务器上添加一个小的SSD,以用于ldf文件,以便在保持备份与备份分离的同时提高速度)。不幸的是,这会使您的MDF文件的驱动器变慢,但是再次提醒:这与您想像的无关紧要。

值得注意的是,上面的假设是您有足够的RAM,您遵循典型的工作负载,并且计划使用“完全恢复”模式,而不是简单的。此外,操作该系统,并安装了SQL Server程序本身可以被放置在缓慢的驱动器上,但当然你可能希望尽可能您有地方住快速驱动器上。


备份是指未使用但只是存储的文件。我会将mdf和ldf文件都放在快速磁盘上。对我来说,有消息称mdf可以放在慢速磁盘上,这是一条有趣且出乎意料的信息。
Niels Brinch

1
您不希望将mdf与备份/日志放在同一磁盘上。MDF表示数据库的当前状态。Backup + LDF表示您需要将数据库恢复到当前状态。您希望将两种表示形式彼此分开,因此破坏一个表示的事件也不会破坏另一个表示。而且,由于日志和备份应该是快盘上(性能依赖于很多更上你能多快写比你能多快写mdf文件LDF文件),这意味着MDF应到较慢的磁盘。
乔尔·科尔

我将上面的大部分评论编辑成答案。
乔尔·科尔

1
我不知道为什么你说对.ldf,并.mdf需要在灾难发生时分开......这不是一般认为,您将可使用一个用于灾难恢复,这就是备份的。如果您不希望数据丢失尽可能地接近0,那么您将获得非常频繁的日志备份,那么您就不必依赖日志文件本身了。
收起2015年

@Reaces你是对的。我脑子发呆,想着脑海中的TRN备份时用手指写LDF文件。一般的想法都成立了,但是我需要进行重大修改以澄清这一点(现在进行研究)。
Joel Coel 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.