所以我设置了我们的 SQL 服务器来通知我们严重程度为 17 或更高的警报(如各种 SQL Server 文章所建议的那样)。我对具有三个多子网节点的 SQL Server Always On Availability Cluster 的每个节点都执行了此操作。
上周末,我们从一个辅助节点收到了近一百条关于一条“仅供参考”消息的通知。其他节点没有这样做,警报似乎没有引起任何实际问题。警报是:
DESCRIPTION: Skipping the default startup of database '<database>' because the database belongs to an availability group (Group ID: <...>).
The database will be started by the availability group.
This is an informational message only. No user action is required.
Run Code Online (Sandbox Code Playgroud)
可能的罪魁祸首:我们的网络存在一些问题,节点可能正在断开连接并重新连接或超时。
我想我的问题是,是否应该采取任何措施来解决此警报?为什么它只影响我的一个节点?如果它确实是信息性的并且不需要采取任何措施,我可以配置我的警报以忽略这些警报吗?
根据评论,我查看了日志,似乎服务器一直在运行,但在那个时候它与始终在线的服务器断开了连接:
AlwaysOn Availability Groups: Local Windows Server Failover Cluster node is no longer online.
The Availability replica is going offline because …Run Code Online (Sandbox Code Playgroud) 我们有一个带有 2 个节点的 SQL 2012 AlwaysOn 可用性组。我们在 2 个副本之间进行同步提交。它们都设置为在充当辅助节点时接受只读连接,并在充当主节点时接受所有连接。
我们通过侦听器和 ApplicationIntent=ReadOnly 在连接字符串中为只读流量设置了 ReadOnly 路由。一切正常。
几天前,我们重新启动了可读辅助节点,在它关闭期间,只读流量无法连接到可读辅助节点(如预期),但并没有像我想象的那样重定向到主节点。而是收到以下错误
无法访问 SalesDb 数据库,因为没有启用只读访问的联机辅助副本。
我的问题是,如果由于某种原因没有可读的辅助副本可用,只读流量是否不会被侦听器路由到 Allow All Connections Primary 副本,而不是收到连接错误?
任何答案都感激地收到。
阿康利尔
有人可以指出我的 MS 文章或博客文章,其中详细解释了 AlwaysOn 可用性组辅助副本如何在辅助服务器长时间停机后赶上主要副本吗?
我使用 AAG 进行了以下测试(异步、手动故障转移、只读配置)。A)在连续插入主要实例期间杀死次要实例并在几分钟后启动次要实例。AAG 仪表板在二次重启后几乎立即变成绿色,并开始赶上主,直到两个实例的行数变得相同。没有完成事务日志备份。B) 与 A) 相同,但在测试期间从主服务器完成的事务日志很少。
问题是:
1)用于保存传输日志块(发送到辅助副本)的日志缓存/消息传递框架等的大小是多少
2) 是否可以配置/增加上述结构(日志缓存/发送队列等 - 无论用作 AAG 复制的传输)大小(类似于增加日志传输中的 tran 日志备份保留期,例如)?
3)当我在测试 B 中备份(截断)tran 日志时,次要副本自动与主要同步,用于查找主要和次要之间的行差异(显然不是 tran 日志,因为它被截断)然后同步?
4) 这个自动追赶过程是如何工作的,它的局限性是什么?
我一直在尝试找出相同的 CPU 限制数据库镜像是否适用于可用性组。我的猜测是存在相同的限制,因为可用性组是基于与镜像相同的技术构建的,因此以下内容仍然适用。
这样对吗?谢谢!
使用 AlwaysOn 可用性组时,每个 SQL 实例是否需要使用相同的服务凭据?
我们正在设置新的 SQL2014 部署,并将使用 AlwaysOn。如果我有 2 个 SQL 服务器(称为 ServerA 和 ServerB),那么我可以使用 2 个名为 Domain\ServerA_SQLServerService 和 Domain\ServerB_SQLServerService 的活动目录帐户(每个服务器上一个)吗?
或者他们是否需要使用相同的帐户,所以我应该创建 Domain\SQLServerService
这些帐户将在同一个域中,并且可以访问两台服务器。以前我们已经锁定了 SQL Server 服务帐户,这显然导致了问题。我想要做的是拥有 2 个帐户,以便减少两个帐户被锁定的可能性。
是否有要求和/或 Microsoft 的最佳实践是什么?
sql-server availability-groups sql-server-2014 service-accounts
我有一个使用 SQL 2014 和 Windows Server 2012 R2 的始终可用组设置。组中有 3 个节点。SQL 服务在每个节点上作为托管服务帐户运行(每个服务器 1 个 MSA)。
我正在尝试在每个节点上创建一个链接服务器以指向当前的活动节点。因此,假设这三个服务器称为 Server1、Server2 和 Server3,而 AlwaysOn 可用性组称为 SQLAAG_PROD。我想创建到 SQLAAG_PROD 的链接服务器。
我能够为每个单独的节点创建一个链接服务器(例如 Server1 与 server2 和 Server3 的链接),并且使用安全选项可以正常工作Be made using the login's current security context。
但是,当我尝试为组侦听器创建链接服务器时,我得到了 Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON
如果我将安全模式更改为对当前活动服务器使用 SA 密码,则一切正常,但出于明显的安全原因,这不是可接受的解决方案。
我已经阅读了很多关于需要设置 SPN 并允许帐户进行委派的内容。我Trust this computer for delegation to any service (Kerberos only)在 Active Directory 中打开了 SQLAAG_PROD 对象,但仍然有同样的问题。
有没有人以前见过这个,和/或是否有关于如何设置的指南?
===更新===
不确定它是否有帮助,但是当我跑步时
select auth_scheme from sys.dm_exec_connections where session_id=@@SPID
Run Code Online (Sandbox Code Playgroud)
当直接连接到节点时,我得到 …
authentication sql-server linked-server availability-groups sql-server-2014
我已经使用 Ola 的脚本实现了 AlwaysON 备份,这些在为备份配置的指定服务器上运行良好。我想使用专用帐户使用从监控系统触发的 sql 脚本自动检查备份。此帐户除公共和查看服务器状态外没有其他权限。如果此帐户选择以下内容:
select sys.fn_hadr_backup_is_preferred_replica ('TestDB) AS IsPreferredBackupReplicaNow
Run Code Online (Sandbox Code Playgroud)
它得到 0 作为一个不正确的答案。使用 sysadmin 权限触发相同的查询给出 1 作为正确答案。
任何人都知道为什么会这样以及需要什么权限才能获得正确的结果?MSDN没有关于权限的消息。
提前致谢
内部版本:Microsoft SQL Server 2014 - 12.0.4100.1 (X64) 2015 年 4 月 20 日 17:29:27 版权所有 (c) Microsoft Corporation Enterprise Edition(64 位),Windows NT 6.3(内部版本 9600:)(管理程序)
我在 Windows Server 2012 R2 上运行 SQL Server 2014。
共有三个节点,一个是远程DataCenter。所以两个节点有投票权。故障转移群集正在远程服务器上使用文件共享见证。
如果主服务器关闭,AG 自动故障转移工作,但当 SQL Server 关闭时,AG 自动故障转移不起作用。AG 等待Resolving状态。
还:
表决;
服务器分配的投票 当前投票 节点 1 1 1 节点 2 1 1 节点 3 0 0
我为所有网络禁用了防火墙,没有任何变化,问题持续存在。
有人可以帮我解决问题吗?
关键错误
此可用性副本的作用不正常。
副本没有主要或次要角色。
故障转移是从 node1 到 node2。两者都设置为同步和自动故障转移。节点未处于暂停状态。我已将所有节点安装为独立实例。
sql-server failover availability-groups windows-server sql-server-2014
我已经在不同的子网上设置了一个带有主要和次要副本的 AlwaysOn,但我不得不使用设置为 1 的 Registerallprovidersip。这导致侦听器在 DNS 中只有 0 个 IP 地址,这意味着我在 DNS 复制的支配下发生故障转移事件,因为侦听器的 IP 需要一些时间来更新。
有没有遇到类似情况的人找到改善故障转移时间的方法?
我正在阅读 SQL Server 的文档。在https://docs.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/windows-server-failover-clustering-wsfc-with-sql-server 的这个页面上,它说:
Always On 可用性组和 Always On 故障转移群集实例都使用 WSFC 作为平台技术,将组件注册为 WSFC 群集资源。
我有点困惑。在以前版本的 SQL Server(如 SQL Server 2008)中,有一项称为SQL Server 故障转移群集的技术,它与Always On 故障转移群集实例相同吗?希望有人能澄清这一点。提前致谢。