使用SAN的SQL Server上可以执行哪些优化?

这个问题有点普遍,因为我没有接触到SAN(存储区域networking)。

是否可以使用SAN执行任何优化或configuration更改以提高SQL Server性能?

您将使用SAN做的调整将包括。

  1. 确保你有足够的磁盘来支持你的IO需求。
  2. 确保mdf,ldf和tempdb是分开的。
  3. 确保顺序IO数据库(数据仓库)与随机IO数据库(OLTP)位于不同的主轴上。
  4. 降低或禁用支持OLTP数据库的LUN上的读取caching量,因为它们通常无法使用读取caching。
  5. 最大限度地减less白色caching的数量,以避免强制冲洗的情况。

如果您有机会在11月份在Seatle举办SQLPASS峰会,我将介绍有关SAN存储的DBA存储。

看看使用SQLIO进行SAN调整的Brent Ozar教程:

http://sqlserverpedia.com/wiki/SAN_Performance_Tuning_with_SQLIO

我使用这种技术来识别在pipe理OLTP系统的较早的远程SAN上的瓶颈(瓶颈只有一个主机总线适配器卡)。

查看以下最佳实践白皮书:

http://technet.microsoft.com/en-us/library/cc966412.aspx

在白皮书上触摸 – 如果您不使用Windows 2008,请记住在卷上设置正确的偏移量:

http://msdn.microsoft.com/en-us/library/dd758814.aspx

将数据库的日志和数据文件和tempdb分开,如mrdenny所解释的,并使用适当的RAID级别。

不是特定于SAN的,但非常有用 – 在创build数据库的事务日志时,预扩展它们以避免虚拟日志文件碎片化:

http://www.sqlskills.com/BLOGS/KIMBERLY/post/8-Steps-to-better-Transaction-Log-throughput.aspx

这是一个普遍的问题,但是我认为在SAN中做最好的优化是LUNS和RAIDconfiguration的原始部署。

例如,如果您有24bay SAN,请确定每个LUN使用的磁盘的大小,RAIDconfiguration和数量。 从那里你可以通过优化什么去哪里平均分配SQL服务器的磁盘I / O。

读取数据库的专用lun,繁重的写入或混合数据库,tempdb等…

让我知道,如果这有助于指向正确的方向,如果你有任何问题随意问,祝你有一个美好的一天。

尼克