我有两个 SQL 服务器配置了可用性组。配置使用 dnn 作为侦听器。对配置端口的连接测试成功。
当我们尝试在连接字符串中使用 multisubnetfailover=true 建立连接时,我们收到以下错误消息:
不支持使用 multiSubnetFailover 连接属性连接到镜像 SQL Server 实例。
此系统从未配置过镜像。我运行过
SELECT * FROM SYS.DATABASE_MIRRORING
该命令的结果为 NULL。有什么建议可以检查什么来解决这个问题吗?
我有两个 SQL 服务器配置了可用性组。配置使用 dnn 作为侦听器。对配置端口的连接测试成功。
当我们尝试在连接字符串中使用 multisubnetfailover=true 建立连接时,我们收到以下错误消息:
不支持使用 multiSubnetFailover 连接属性连接到镜像 SQL Server 实例。
此系统从未配置过镜像。我运行过
SELECT * FROM SYS.DATABASE_MIRRORING
该命令的结果为 NULL。有什么建议可以检查什么来解决这个问题吗?
我正在学习 SQL AG。
目前我们有 1 个 SQL 服务器,我们每周运行完整和每小时日志备份。
日志备份会截断日志并防止填满磁盘。
当我在 2 个服务器(同步或异步模式)之间配置 AG 时,主服务器上的日志备份将负责截断主服务器上的日志文件。这与单实例 sql server 的行为相同。
在辅助节点上,是否还需要设置日志备份以防止日志文件增长(填满磁盘)?还是在主节点做日志备份时AG技术会自动同步handle log size?
在 sync AG 中,主要等待来自次要的确认。
在异步 AG 中,主节点不等待确认。
在后一种情况下,假设确认在网络中丢失,那么 primary 如何知道它必须将数据重新发送给 secondary?
我已经配置了 SQL 读取规模 AG(没有 WSFC)和侦听器。
在创建监听器时,我给它起了一个名字SQLAGListernerTest2019
并输入了主 SQL 服务器的 IP 地址。
然后 IT 基础设施人员在他们的最后进行了一些配置,以便侦听器名称解析为主 SQL 服务器 IP(我认为这是一个新的 DNS 条目)。
我已经强制进行手动故障转移,在辅助服务器(现在是主服务器)上,我删除了侦听器并创建了一个新的侦听器,名称相同,但新的主 SQL 服务器的 IP 地址。
但是,当用户通过侦听器连接到 SQL 服务器时,它仍在尝试连接到原始主 SQL 服务器 IP。如何解决这个问题?也许需要更改 DNS 配置?我在这里的文档中找不到这个:https ://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/perform-a-planned-manual-failover-of-an -availability-group-sql-server?view=sql-server-ver16#forced-manual-failover-with-data-loss
我对这个特定的话题很好奇。
如果我停止数据同步以更改主节点而不影响辅助节点,我是否需要停止日志备份作业?停止数据同步期间的日志备份是否会弄乱任何 LSN 并使其无法再次恢复数据同步?
编辑。
所以,我有一个数据库,是两台服务器之间的 AOAG 的一部分。如果我点击“停止数据同步”,辅助将停止从主接收信息。
与此同时,如果我在主数据库中执行“备份日志”会发生什么?当我“恢复数据同步”时,它会中断 AOAG 连接吗?LSN 会有所不同吗?
是否可以使用 故障转移到可读的辅助节点(始终具有异步提交模式)FORCE_FAILOVER_ALLOW_DATA_LOSS
?
我想在不可读的辅助副本上创建一个数据库,以收集一些数据用于故障排除和监控 AG。我读过没有查询服务器时没有许可证成本(即当实例不是可读辅助时),但是当您查询服务器时必须获得许可。
所以我的问题是:在辅助副本上创建单独的数据库是否有问题(显然该数据库不会包含在 AG 中)?
我有一个 Windows 故障转移集群正在运行,有一个主服务器和一个辅助服务器。
我还创建了一个包含两台服务器的 Always On 可用性组,主副本和辅助副本都是同步副本。
我现在想向 Always On 可用性组添加一个额外的异步副本;为此,我是否需要修改 Windows 故障转移群集?
自 Cumulative Update 9 起,在 SQL Server 2019 中,有两个与可用性组相关的新 DMV:
sys.dm_hadr_cached_replica_states
sys.dm_hadr_cached_database_replica_states
我从What's New & Undocumented in SQL Server 2019 Cumulative Update 9 中了解了它们。
显然,可以从其他现有的 DMV 中找到相同的信息,但是这些新的 DMV 可能会返回一些过时(缓存)的信息,而不是现有 DMV 返回的实时数据。
中的信息sys.dm_hadr_cached_database_replica_states
类似于以下查询返回的信息:
SELECT ag.group_id AS ag_id, ag.name AS ag_name,
ar.replica_id, ar.replica_server_name AS replica_name,
adc.group_database_id AS ag_db_id, adc.database_name AS ag_db_name,
rs.is_local, rs.is_primary_replica, rs.synchronization_state, rs.synchronization_state_desc
FROM sys.dm_hadr_database_replica_states rs
INNER JOIN sys.availability_groups ag ON ag.group_id = rs.group_id
INNER JOIN sys.availability_replicas ar ON ar.replica_id = rs.replica_id
INNER JOIN sys.availability_databases_cluster adc ON adc.group_database_id = rs.group_database_id
中的信息sys.dm_hadr_cached_replica_states
与以下查询返回的信息几乎相似:
SELECT ag.group_id AS ag_id, ag.name AS ag_name,
ar.replica_id, ar.replica_server_name AS replica_name,
ars.is_local, ar.availability_mode, ag.sequence_number,
ars.role, ars.role_desc, ars.synchronization_health, ars.synchronization_health_desc
FROM sys.availability_groups ag
INNER JOIN sys.availability_replicas ar ON ar.group_id = ag.group_id
INNER JOIN sys.dm_hadr_availability_replica_states ars ON ars.replica_id = ar.replica_id
但是,在我的情况下,新的 DMV 总是synchronization_health_desc
在辅助角色的列中返回“PARTIALLY_HEALTHY”,而不是“HEALTHY”或“NOT_HEALTHY”。
有谁知道新DMV的目的是什么?考虑到名称中包含“缓存”一词,新DMV中的信息何时实际更新?
我相信在 SQL Server 2022 的文档完成后,这些问题的答案可能会更加清晰(希望这些新的 DMV 将在那里记录)。但也许有人有更多关于这些 DMV 的信息,甚至可以在此之前对它们有更多的了解。