我将在我的开发/testing机器上安装一个新的SQL Server 2008实例。 我的机器有一个7200转500GB SATA磁盘(C:OS)和一个Intel X25-G2 80GB SSD(D :)。 详细的机器configuration如下:
CPU:i7 860
内存:8GB
微软表示我可以select把下面的目录放在不同的磁盘上。 所以我打算将用户数据库和临时数据库放在SSD上,其余部分放在传统磁盘上。 在快速SSD中获得性能提升是一个不错的select吗?
数据根目录:C:\ Program Files \ Microsoft SQL Server
用户数据库目录D:\ Data
用户日志目录C:\ Logs
Temp DB目录D:\ TempDB
临时日志目录C:\ TempDB
备份目录C:\ Backups
所以这是你的个人机器,而不是服务器? 我会把所有的数据库文件放在SSD上。
SQL实际上很less将更改写入数据文件。 当IO子系统不繁忙时,将立即将更改写入事务日志,然后由懒惰的写入器在将来的某个时间写入数据文件。 所以通常不会同时写入事务日志和数据文件。 这是devise。
TempDB住在RAM中,不是吗? 有一个物理的支持文件,但我的理解是,基本上SQL将其caching在RAM之前的一切。
通过将事务日志放在单独的磁盘上来获得性能的典型情况是,如果您拥有相当均衡的写入/读取混合, 并且您没有足够的内存供SQL Server从RAM中caching的页面读取这些读取,迫使它从磁盘读取这些页面。 然后,如果数据文件和事务日志都位于同一物理磁盘上,则会导致磁盘争用。
但是,我发现很难相信在单用户工作站上会遇到这种情况。 有一个例外可能是,如果你的数据库太大,不适合你的工作站的RAM,并且你正在做一些大的,复杂的数据导入,除了写操作之外,还有大量的读操作。
不过,这些英特尔SSD对于数据库工作来说太棒了。 好的购买决定。
我只是发现这个http://technet.microsoft.com/en-us/edge/Video/hh771099它有点长,但花时间来完成video。 SQL服务器和SSD磁盘使用非常重要的信息。
如果您有空间,请按照以前的build议将所有数据库文件放在SSD驱动器上。
澄清一点:要清理一个城市的传说,tempDB通常在磁盘上,而不是在内存中。 你可以强迫它从内存中运行,但是通常你最好不要。 http://support.microsoft.com/kb/115050
实现固态硬盘减速,我们有一个生产SQL服务器与1TB固态硬盘存储,6个月后,固态硬盘被删除,并回到SAS 15k驱动器,性能明显好于硬盘比固态硬盘后使用 – 当他们是全新的根本没有任何比较 – SSD在所有的基准testing中都取消了硬盘的性能,但在6个月之后它们很慢。 我还没有时间写更多的细节,但是当我有一些空闲时间时,我会尽量分享几个基准。