【问题标题】:Recommended way of SQL 2005 DB setupSQL 2005 数据库设置的推荐方式
【发布时间】:2009-12-23 02:47:32
【问题描述】:

刚得到一个带有 6 x 320 GB 磁盘的 win 2003(64 位)服务器盒,并打算安装 mssql 2005(64 位标准)。正在考虑设置以下内容:

  • 磁盘 1 和 2 运行 Raid 1,分为 C:\ 用于操作系统 (~50GB) 和 D:\ 用于所有 .ldf 文件 (~250GB)
  • 磁盘 3 到 6 运行 Raid 0,分为 E:\ 用于 .mdf 文件 (~700GB) 和 F:\ 用于运行备份等 (~200GB)

这会是最优的吗?

我想知道 tempdb 是否应该像其他 .mdf 和 .ldf 文件一样对待或移出到 F:\

还用谷歌搜索过,对文件组有点困惑,有些人建议将索引转移到不同的文件组并使用分区。这会有用吗,因为硬件将磁盘 3 到 6 组合成“1 个物理磁盘”并且 sql 不会从并发读取中获益?

【问题讨论】:

  • 这确实属于 serverfault.com

标签: sql-server-2005 sqlperformance


【解决方案1】:

您为什么要对数据文件使用 Raid 0?单个磁盘故障会导致您的阵列瘫痪。 RAID 10 是你需要去的地方:性能 + 容错。

【讨论】:

  • 指出,这意味着磁盘 3 到 6 运行 Raid 10,我很可能只有 E:\ (~600GB) 仅用于数据文件
【解决方案2】:

在 OS RAID 阵列之外,SQL Server 的最佳硬盘设置是拥有两个独立的 RAID 5(或 10,如果支持)阵列。一个用于数据,另一个用于事务日志。

这两个数组之间的基本原理是,理想情况下,您不希望任何一个的更新因为等待另一个而受到影响。

【讨论】:

  • 如果我错了,请纠正我,但 Raid 5 在写入密集型日志文件方面不如 Raid 1 好? Raid 10 也使用 4 个磁盘,所以我无法获得两个单独的阵列?
  • 如果没有备份,速度就不是很好,而且 RAID 1 是镜像而不是条带化。
【解决方案3】:

要点:

  • 您的 SQL Server 无法运行得更快 比写入日志。

  • 失控的事务可能会导致 tempDB 填充它所在的磁盘并崩溃 SQL Server。

想法:

将您的日志文件分隔到写入时间最快的磁盘上。

将您的 tempDB 分离到具有最佳整体性能(读取和写入)的磁盘上。

您必须权衡取舍,因为没有人拥有他们想要的所有资源。

日志文件和数据文件会同时写入(尽量分开)。

如果无法隔离 tempDB,则限制增长大小。

【讨论】:

    猜你喜欢
    • 2012-07-02
    • 1970-01-01
    • 2010-10-11
    • 2015-03-08
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    相关资源
    最近更新 更多