我不是服务器管理员。所以温柔点。但我只是参加了一个会议,在其中一个培训班上,讲师解释了一些SQL最佳实践。其中之一是将Mdf、Ldf和TempDB分离到不同的驱动器上,以提高性能。
现在在我们的办公室我们有一个san。Sys管理员创建了3个san驱动器,一个用于数据,一个用于日志,另一个用于TempDB。
我的直觉告诉我,那是一个浪费的effort...was吗?
我不知道很多细节,但如果你问我会尝试填写任何必要的规格,以准确地回答这个问题。

发布于 2012-10-01 14:45:14
数据库文件、事务日志文件和临时数据文件通常放置在不同的卷上,以减少它们之间的I/O争用,还可以通过为每个数据库创建多个数据文件,将它们分散到更多的卷上,并告诉Server应该在哪里存储特定的表和索引来进一步扩展它们;因此,是的,这是DBA的一种常见做法,确实可以带来显著的性能提高。
当使用SAN时,它也可能变得完全没有意义;根据实际配置SAN的方式,可以将不同的LUN(卷)映射到任何一组语音磁盘、RAID阵列和存储控制器,因此两个LUN之间的I/O争用可以从“完全隔离的”到“有效地共享相同的磁盘”。因此,除非DBA与存储管理员密切合作,否则请求不同的LUN来在它们之间传播数据库文件确实是完全浪费的努力。
但是,分离数据库文件和事务日志文件被认为是一种最佳做法,不仅是为了性能,而且也是为了提高可靠性:由于SQL Server使用的事务存储引擎(以及几乎所有现有DBMS使用的类似引擎),日志文件可以用于在灾难恢复场景中重播事务,从而使系统能够恢复上次备份后发生的情况。但是,为了使其正常工作,您不希望同时丢失数据文件和日志文件,所以最好至少将它们放在不同的卷上,即使这样做没有提高性能。
发布于 2012-10-01 14:24:47
将数据库文件与日志文件分开的原因是数据库访问是随机的,日志访问是顺序的。最佳实践要求您不要将这两种I/O类型混合在同一个磁盘上,无论该磁盘是如何呈现给服务器的(本地、DAS、iSCSI等)。所以不,这不是白费力气。
至于tempdb,Microsoft建议您将其与数据库分开:
http://msdn.microsoft.com/en-us/library/ms175527(v=sql.105).aspx
发布于 2017-03-31 11:54:00
日志光盘上的I/O只有在只包含一个日志文件的情况下才会是顺序的。再加一个,你就会有随机I/O。
https://serverfault.com/questions/433650
复制相似问题