我正在报告服务器上运行一个安全数据,更新我们的安全并将数据库放到read_only模式。我正在使用通配符跳过系统和其他一些数据库,但是我可以使用什么来跳过任何作为AG一部分的数据库。换句话说,我可以使用什么来跳过同步DB?
谢谢。
发布于 2018-11-12 21:21:00
但是,我能用什么来跳过AG的一部分数据库呢?换句话说,我可以使用什么来跳过同步DB?
获取任何属于AG的数据库与只获取同步数据库是有区别的。例如,异步节点将保持状态:“同步”(或另一条消息,但不同步)。
To获取参与AG的所有数据库:
SELECT name
FROM sys.databases
WHERE database_id
NOT IN (SELECT database_id
FROM sys.dm_hadr_database_replica_states);To只获取同步数据库:
SELECT name
FROM sys.databases
WHERE database_id
NOT IN (SELECT database_id
FROM sys.dm_hadr_database_replica_states
WHERE synchronization_state_desc = 'SYNCHRONIZED');To也不包括系统db:
SELECT name
FROM sys.databases
WHERE database_id
NOT IN (SELECT database_id
FROM sys.dm_hadr_database_replica_states
WHERE synchronization_state_desc = 'SYNCHRONIZED')
AND database_id > 4;https://dba.stackexchange.com/questions/222379
复制相似问题