0

谁能帮我获取 SQL 查询以获取服务器为辅助的数据库列表。前任。在高可用性组 SERVER S1 中,对于可用性组 AV1(DB1,DB2) 是主要的,对于 AV2 (DB3,DB4) 是次要的。我想查询以获取 S1 为次要的数据库列表。这里是 DB3 和 DB4。

请帮帮我。

4

2 回答 2

1

以下查询将返回一个表,其中包含可用性组中的数据库的数据库名称,并且是查询服务器上的辅助副本。

SELECT db.name FROM master.sys.dm_hadr_database_replica_states rs
JOIN master.sys.databases db ON rs.database_id = db.database_id
WHERE is_local = 1 AND is_primary_replica = 1
于 2018-10-25T17:45:37.980 回答
0

所以,我没有给你一个确切的查询,但它不应该太难做,有 2 个 DMV 可以查看:

sys.dm_hadr_availability_group_states - 这将告诉您可用性组以及哪些服务器是每个服务器的主要/次要副本

sys.dm_hadr_database_replica_states - 这将告诉您每个可用性组中的数据库以及它们处于什么状态

在 group_id 列上将这两个连接在一起,您将能够看到哪些数据库位于哪个可用性组中,哪些服务器充当主要/次要副本。

此处的文档链接:

AlwaysOn 可用性组动态管理视图和功能

于 2013-08-20T10:57:28.433 回答