标签: availability-groups

SQL Server AlwaysOn Error_number 35206

我加入了一家电子商务公司,他们使用 SQL Server 2012 AlwaysOn for HADR,这是我第一次遇到支持这项技术的情况。

两个节点上的 Sql Server 日志每天都会收到垃圾邮件,错误消息如下所示。

这些错误是什么意思?他们是良性的吗?

我让基础设施人员查看系统和网络日志 - 他们在与记录以下消息的时间相关的时间看不到任何奇怪的东西。AlwaysOn 仪表板针对连接超时消息记录了错误 35206,并且 BOL 解释没有说明我是否应该解决这些超时问题。

消息
先前建立的到可用性副本“SQLWEB02”的连接超时,ID [A794F13A-6FDA-4E7C-B418-A70B320D1AB3]。存在网络或防火墙问题,或者可用性副本已转换为解决角色。

消息
AlwaysOn Availability Groups 与主数据库的连接已终止,用于副本 ID 为 {a794f13a-6fda-4e7c-b418-a70b320d1ab3} 的可用性副本上的辅助数据库“DB1”。这只是一条信息性消息。无需用户操作。

消息
BACKUP 未能完成命令 BACKUP LOG DB1。检查备份应用程序日志以获取详细消息。

消息
A 连接从可用性副本“SQLWEB01”(ID [CC17411E-D3E1-4B32-95D8-8D69BB94E7E0])到“SQLWEB02”(ID [A794F13A-6FDA-4E7C-B418-A7B3)的连接已成功建立。这只是一条信息性消息。无需用户操作。

消息
AlwaysOn Availability Groups 与主数据库的连接为具有副本 ID 的可用性副本上的辅助数据库“DB1”建立:{a794f13a-6fda-4e7c-b418-a70b320d1ab3}。这只是一条信息性消息。无需用户操作。

消息
错误:35285,严重性:16,状态:1。

消息
已为 ID 为 11 的数据库识别出恢复 LSN (187402:6392:1)。这只是一条信息性消息。无需用户操作。*

谢谢

sql-server sql-server-2012 availability-groups connectivity

6
推荐指数
1
解决办法
2万
查看次数

在这种奇怪的 SQL Server 镜像情况下会发生什么?

假设两个 SQL Server 实例(S1 和 S2)处于同步镜像或同步可用性组中。现在发生以下情况:

  1. 写入发生在 S1 上,事务提交由客户端发起
  2. 写入已在 S2 上硬化(但尚未在 S1 上硬化
  3. S1 掉电,提交日志记录永不写入
  4. S2 断电(交易已经硬化)
  5. S1 启动并撤消事务
  6. S2启动并保持交易

现在 S2 更进一步了!它有一个 S1 没有的写操作。两个复制品已经分道扬镳。

在这种情况下会发生什么?当更多写入到达 S1 并将 S1 带入与 S2 不兼容的历史时会发生什么?写历史看起来像一个叉子。

sql-server mirroring availability-groups

6
推荐指数
2
解决办法
2811
查看次数

有没有办法在 Always on 下最小化记录插入?

我有一个处于FULL恢复模式的主数据库,它是Always On组的一部分。有没有办法在FULL恢复模式下最小化记录插入操作?

我有一个每天执行的进程,并在表中插入几百万条记录。随着操作的继续,事务日志文件的大小急剧增加(从 1 GB 到 40 GB)。

正如我所读到的,我可以使用一些未完INSERT全记录操作的变体,但我担心切换恢复模型的效果?

t-sql sql-server-2012 transaction-log availability-groups bulk-insert

6
推荐指数
1
解决办法
4825
查看次数

REDO 线程中的死锁,1 个副本正常,其他没有?

我有一个 3 节点集群,由于死锁,2 个辅助节点最初进入 SUSPECT 模式。我试图恢复两者,但只有一个赶上了,而另一个则不断陷入僵局。我必须承认,解决死锁问题并不是我的主要强项,而且由于 xml 提供的信息很少,我无法弄清楚发生了什么。这个数据库有 4 个全文索引,死锁图中报告的 pageID 有 m_type 10 = IAM page ? 有什么办法可以恢复REDO,还是需要删除副本并重新设置?如果日志序列相同,我无法理解为什么另一个节点会赶上?

非常感谢

<deadlock>
  <victim-list>
    <victimProcess id="process23bb0c8" />
  </victim-list>
  <process-list>
    <process id="process23bb0c8" taskpriority="-20" logused="0" waitresource="PAGE: 21:1:47934 " 
    XDES="0x407dc8ff0" lockMode="X" schedulerid="2" kpid="4604" status="background" spid="66" sbid="0" ecid="0" priority="0" trancount="0">
      <executionStack />
      <inputbuf />
    </process>
  </process-list>
  <resource-list>
    <pagelock fileid="1" pageid="47934" dbid="21" subresource="FULL" 
    objectname="DB.sys.fulltext_index_1_69575286" id="lock417f18100" mode="IX" associatedObjectId="72057594044219392">
      <owner-list>
        <owner id="process23bb0c8" mode="IX" />
        <owner id="process23bb0c8" mode="IX" />
        <owner id="process23bb0c8" mode="IX" />
        <owner id="process23bb0c8" mode="IX" />
        <owner id="process23bb0c8" mode="X" …
Run Code Online (Sandbox Code Playgroud)

sql-server deadlock availability-groups

5
推荐指数
0
解决办法
135
查看次数

具有可用性组的服务器上的 Ola Hallengren 索引维护

我正在配置 Ola Hallengren 脚本以在 5 月可用性组集群中的所有服务器上进行索引维护,该集群具有多个 AG 和不在 AG 中的数据库。

如果我选择“ALL_DATABASES”选项,脚本是否足够智能以排除只读辅助副本?

sql-server index-tuning availability-groups ola-hallengren

5
推荐指数
2
解决办法
1802
查看次数

最大化可用性组副本端的重做率

我的 SQL Server 数据库托管在具有全闪存存储阵列、40G 网络等的高度规范的融合平台上。

但是,我们仍然无法获得超过 50MB/s 的重做速率 - 我需要它在 GB/秒范围内。

支持平台可以处理这个问题 - SQL Server 2012 中阻止它最大化潜在吞吐量的瓶颈是什么,我该如何克服它?即使使用单线程进程 50MB/s 也很差 - 考虑到我们处理的数据量,完全没用。

更新:当我在服务器上时,我可以在驱动器之间复制文件并获得 > 1000MB/s 的速度。重新启动后,我看到重做速率高达 300MB/s,所以我知道这在我的环境中是可能的,但是即使恢复队列位于 400G,它也会迅速降低到 50MB/s 的标准。这需要 8 小时才能耗尽 - 导致非常不满意的客户......

sql-server availability-groups

5
推荐指数
1
解决办法
953
查看次数

使用 MultiSubnetFailover 提高单个子网的性能

BOL 上,我阅读了以下关于MultiSubnetFailover=True 的内容:

即使可用性组仅跨越单个子网MultiSubnetFailover连接选项也应设置为True。这允许您预先配置新客户端以支持未来跨子网,而无需更改未来客户端连接字符串,并且还优化了单个子网故障转移的故障转移性能

据我了解MultiSubnetFailover,使用此选项设置客户端驱动程序为与侦听器关联的每个 IP 地址设置一个套接字。它们都被并行检查以加快查找在线 IP 的过程,第一个响应将用于连接。在这里,我看到了性能提升。

但是单个子网的性能提升在哪里?只有与侦听器关联的 IP。

sql-server availability-groups sql-server-2017

5
推荐指数
1
解决办法
428
查看次数

如何确定节点何时添加到可用性组?

理想情况下,我正在寻找返回两列的 T-SQL:节点名称,以及该节点添加到可用性组的日期/时间,对于给定可用性组中的所有节点。

sql-server availability-groups

5
推荐指数
1
解决办法
201
查看次数

SQL Server Always On 文件共享见证(仲裁投票)在不同子网上到其他节点

我目前遇到一些可用性组的问题,其中节点 1 和节点 2 彼此之间的连接松散“先前建立的与可用性副本的连接发生连接超时”

故障转移群集管理器中的错误显示“文件共享见证资源‘文件共享见证’未能仲裁文件共享”文件共享所在的服务器尚未重新启动或出现任何问题,并且所有权限都在工作。

我唯一能看到的是文件共享服务器与集群中的其他 2 个 SQL Server 节点位于不同的子网上。

有人可以确认在 AlwaysOn 环境中将文件共享服务器放在不同的子网上是一个大问题吗?所有防火墙规则都已就绪,因为它可以与其他节点通信,但在几个小时之外(通常)它会失去连接。

另一个奇怪的事情是包括文件共享在内的仲裁中有 3 票,因此即使文件共享失去与故障转移集群的连接,节点 1 和节点 2 也不应该失去彼此之间的连接,因为有足够的投票支持仲裁 (2)

sql-server clustering availability-groups

5
推荐指数
1
解决办法
2407
查看次数

我应该为同一个 SQL 实例上的两个可用性组创建两个端点吗?

我有一个运行 SQL Server 2012 的两节点集群。我想在 SQL Server 的同一实例中创建两个可用性组。

我应该为每个 AG 添加一个端点,还是应该允许两个 AG 使用相同的端点?

我已阅读此处的文档但与多个端点有关的唯一部分与多个 SQL 实例有关

请注意,如果给定计算机上的多个服务器实例需要数据库镜像端点,请为每个端点指定不同的端口号。

sql-server sql-server-2012 availability-groups

5
推荐指数
1
解决办法
1240
查看次数