Sql-Server
如何在 SQL Server 2016 Always On 可用性組中獲取鏡像端點中證書的證書到期日期?
我使用 Microsoft 說明創建了一個獨立於域的 2 節點 SQL Server 2016 Always On 可用性組:
其中一個步驟使用證書創建端點:
CREATE ENDPOINT DIAG_EP STATE = STARTED AS TCP ( LISTENER_PORT = 5022, LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE InstanceX_Cert, ROLE = ALL )
集群正在工作,幾個月後我想檢查此證書的到期日期。所以我執行這個查詢:
select * from sys.certificates
此查詢返回空集。這不可能,我知道鏡像端點正在使用證書。然後我執行這個查詢來列出所有的鏡像端點:
select * from sys.database_mirroring_endpoints
實際上它在響應中說 connection_auth_desc = CERTIFICATE 和 certificate_id = XXX。所以它必須使用證書。響應中的所有列實際上都沒有說明哪個證書或到期日期是什麼。
是否有人對如何跟踪 SQL Server Always On 可用性組中鏡像端點中使用的證書並檢查其到期日期有任何指導?另外,我怎樣才能在將來更新此證書而不會導致集群停機?
任何幫助將不勝感激!
實例級證書儲存在主數據庫中
您需要將上下文設置為主數據庫,然後檢查證書:
use [master] select * from sys.certificates
或者只是在單個命令中使用三部分名稱:
select * from [master].sys.certificates