sys.dm_geo_replication_link_status (Azure SQL Database 和 Azure SQL 受控執行個體)

適用於:Azure SQL DatabaseAzure SQL 受控執行個體

在異地複寫合作關係中,針對主要和次要資料庫之間的每一個複寫連結,各包含一個資料列。 這包括主要和次要資料庫。 如果給定主要資料庫有一個以上的連續複寫連結,此資料表會對每個關聯性包含一個資料列。 所有資料庫中都會建立此檢視,包括 master 資料庫。 不過,在 master 資料庫中查詢此檢視,將會傳回空集合。

資料行名稱 資料類型 描述
link_guid uniqueidentifier 複寫連結的唯一識別碼。
partner_server sysname 包含連結資料庫的 SQL Database 伺服器名稱。
partner_database sysname 連結的 SQL Database 伺服器上所連結資料庫的名稱。
last_replication datetimeoffset 根據主要資料庫的時脈,主要資料庫接收到最後一個記錄區塊已被次要資料庫強化的確認的時間。 記錄區塊會持續傳送至異地次要資料庫,而不需要等待交易在主要資料庫上提交。 此值僅適用於主要資料庫。
replication_lag_sec int 根據主要資料庫的時脈,last_replication 值與該交易提交時間戳記之間的時間差 (秒)。 此值僅適用於主要資料庫。
replication_state tinyint 此資料庫的異地複寫狀態,下列其中一項:

1 = 正在植入。 異地複寫目標正在植入資料,但兩個資料庫尚未同步。 在植入完成之前,您無法連接到次要資料庫。 從主要資料庫中移除次要資料庫時會取消植入作業。

2 = 追上來。 次要資料庫在異動上處於一致的狀態,且正持續與主要資料庫同步。

4 = 已暫停。 這表示沒有作用中的連續複製關聯性。 這個狀態通常表示互連可用的頻寬對於主要資料庫上的交易活動層級而言不足。 不過,連續複製關聯性仍保持不變。
replication_state_desc nvarchar(256) PENDING

SEEDING

CATCH_UP

SUSPENDED
角色 (role) tinyint 異地複寫角色,下列其中一項:

0 = 主要。 database_id 是指異地複寫合作關係中的主要資料庫。

1 = 次要。 database_id 是指異地複寫合作關係中的主要資料庫。
role_desc nvarchar(256) PRIMARY

SECONDARY
secondary_allow_connections tinyint 次要類型,下列其中一項:

0 = 不允許連線直接連接到次要資料庫,且該資料庫無法用來進行讀取存取。

2 = 允許所有連線連接到次要複寫中的資料庫以進行唯讀存取。
secondary_allow_connections_desc nvarchar(256) No

全部
last_commit datetimeoffset 最後一次提交至資料庫之交易的時間。 如果在主要資料庫上擷取,則其表示在主要資料庫上最後一次的提交時間。 如果在次要資料庫上擷取,則其表示在次要資料庫上最後一次的提交時間。 如果在複寫連結的主要資料庫關閉時在次要資料庫上擷取,則其表示次要資料庫複寫追到的哪個時間點。

注意

若透過移除次要資料庫來終止複寫關係,則在 sys.dm_geo_replication_link_status 檢視中該資料庫的資料列會消失。

權限

需要資料庫中的 VIEW DATABASE STATE 權限。

範例

此 Transact-SQL 查詢會顯示次要資料庫的複寫延遲和最後一次的複寫時間。

SELECT   
     link_guid  
   , partner_server  
   , last_replication  
   , replication_lag_sec   
FROM sys.dm_geo_replication_link_status;  

後續步驟

在下列文章中深入了解相關概念: