AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 227388
Accepted
user1716729
user1716729
Asked: 2019-01-18 06:52:38 +0800 CST2019-01-18 06:52:38 +0800 CST 2019-01-18 06:52:38 +0800 CST

SQL Server 的存储池配置

  • 772

我们正在 Azure VM 中构建一个新的 SQL Server 2017 永远在线的集群。VM的数据盘布局如下

TempDb      :   2    Azure Disk Read Cache    
TempDBLog   :   1    Azure Disk No Cache    
UserDB      :   3  Azure Disk   Read Cache    
UserDBLog   :   2  Azure Disk   No Cache

我的计划是创建一个多存储池,即带有 2 个 TempDB 磁盘的 TempDB 存储池,带有 3 个 User db Azure 磁盘的 UserDB 存储池。

但是,根据Microsoft关于 Azure VM 中 SQL Server 的文档:

如果您使用磁盘条带化技术,例如存储空间,您可以通过两个池来实现最佳性能,一个用于日志文件,另一个用于数据文件。但是,如果您计划使用 SQL Server 故障转移群集实例 (FCI),则必须配置一个池。

这适用于 Always-On 还是仅适用于共享存储 FCI。请指导我,请分享好的文章/文档以供参考。

谢谢

sql-server sql-server-2016
  • 2 2 个回答
  • 1329 Views

2 个回答

  • Voted
  1. Best Answer
    David Browne - Microsoft
    2019-01-18T11:39:16+08:002019-01-18T11:39:16+08:00

    [使用单个池] 适用于 Always-On 还是仅适用于共享存储 FCI。

    Azure 中的 FCI 将存储空间直接用于磁盘复制,我认为这是此要求的来源。对于 AG,您可以使用多个单独的磁盘或池。您应该确保相同的逻辑卷和路径在每个节点上可用,否则如果您在主节点上执行文件和文件组操作,AG 复制将停止。例如,如果您将文件 'g:\sql\data\foo.ndf' 添加到数据库,则该路径需要存在于所有其他集群节点上才能复制该更改。请参阅对失败的添加文件操作进行故障排除(Always On 可用性组)。

    此外,无论您将 Tempdb 数据文件放在哪里,也将 Tempdb 日志放在那里。拆分出 tempdb 的日志是矫枉过正,因为它很可能没有得到充分利用,而且它的 IO 访问模式更像是 tembdb 数据文件而不是用户数据库日志文件。特别是事务提交不会刷新 tempdb 日志。

    • 2
  2. Jonathan Fite
    2019-01-18T10:20:47+08:002019-01-18T10:20:47+08:00

    个人经验,没有链接,但我过去一直为客户构建这些链接。

    您的磁盘性能随池中使用的磁盘数量而变化(最多 4 个,然后额外的磁盘并不能真正提高性能)。我不建议在一个池中使用少于 4 个磁盘,并将它们布置为 4xData、4xLog,并将 TempDB 放在 VM 的本地 SSD(驱动器 D:?)上(如果它对您可用)。否则,将其放在另一组 4 个磁盘上。TempDB 在服务器启动时重建,因此临时存储对他们来说是可以的。

    您只需为存储的数据量付费(使用标准磁盘),因此获得 VM 允许的尽可能多的磁盘。这通常是选择 VM 的驱动因素,让足够的磁盘连接到它。

    您需要将 VM 置于 FCI 中,这样 AG 才能工作,但由于它们不会共享磁盘,因此该规则不适用于您。这也是设置过程中的一个棘手时刻,因为您必须记住取消选中添加共享存储按钮。

    最后的建议是确保您的见证与您的 SQL 服务器位于不同的资源组中。理想情况下使用云见证选项。

    编辑:当 Azure 出现问题时,它更有可能一次发生在整个机架或机架子集上。所以很有可能你的primary和witness会同时宕机。辅助节点将无法自动进行故障转移,因为它永远不会获得法定人数。

    • 1

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve