首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SQL 2008的SAN拆分数据、日志和TempDB是否重要?

使用SQL 2008的SAN拆分数据、日志和TempDB是否重要?
EN

Server Fault用户
提问于 2012-10-01 13:25:27
回答 3查看 15.2K关注 0票数 4

我不是服务器管理员。所以温柔点。但我只是参加了一个会议,在其中一个培训班上,讲师解释了一些SQL最佳实践。其中之一是将Mdf、Ldf和TempDB分离到不同的驱动器上,以提高性能。

现在在我们的办公室我们有一个san。Sys管理员创建了3个san驱动器,一个用于数据,一个用于日志,另一个用于TempDB。

我的直觉告诉我,那是一个浪费的effort...was吗?

我不知道很多细节,但如果你问我会尝试填写任何必要的规格,以准确地回答这个问题。

EN

回答 3

Server Fault用户

发布于 2012-10-01 14:45:14

数据库文件、事务日志文件和临时数据文件通常放置在不同的卷上,以减少它们之间的I/O争用,还可以通过为每个数据库创建多个数据文件,将它们分散到更多的卷上,并告诉Server应该在哪里存储特定的表和索引来进一步扩展它们;因此,是的,这是DBA的一种常见做法,确实可以带来显著的性能提高。

当使用SAN时,它也可能变得完全没有意义;根据实际配置SAN的方式,可以将不同的LUN(卷)映射到任何一组语音磁盘、RAID阵列和存储控制器,因此两个LUN之间的I/O争用可以从“完全隔离的”到“有效地共享相同的磁盘”。因此,除非DBA与存储管理员密切合作,否则请求不同的LUN来在它们之间传播数据库文件确实是完全浪费的努力。

但是,分离数据库文件和事务日志文件被认为是一种最佳做法,不仅是为了性能,而且也是为了提高可靠性:由于SQL Server使用的事务存储引擎(以及几乎所有现有DBMS使用的类似引擎),日志文件可以用于在灾难恢复场景中重播事务,从而使系统能够恢复上次备份后发生的情况。但是,为了使其正常工作,您不希望同时丢失数据文件和日志文件,所以最好至少将它们放在不同的卷上,即使这样做没有提高性能。

票数 5
EN

Server Fault用户

发布于 2012-10-01 14:24:47

将数据库文件与日志文件分开的原因是数据库访问是随机的,日志访问是顺序的。最佳实践要求您不要将这两种I/O类型混合在同一个磁盘上,无论该磁盘是如何呈现给服务器的(本地、DAS、iSCSI等)。所以不,这不是白费力气。

至于tempdb,Microsoft建议您将其与数据库分开:

http://msdn.microsoft.com/en-us/library/ms175527(v=sql.105).aspx

票数 3
EN

Server Fault用户

发布于 2017-03-31 11:54:00

日志光盘上的I/O只有在只包含一个日志文件的情况下才会是顺序的。再加一个,你就会有随机I/O。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/433650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档