web-dev-qa-db-ja.com

SQL Server 2016 Always On可用性グループでミラーリングエンドポイントの証明書の証明書有効期限を取得する方法

Microsoftの指示に従って、ドメインに依存しない2ノードのSQL Server 2016 Always On可用性グループを作成しました。

https://docs.Microsoft.com/en-us/sql/database-engine/availability-groups/windows/domain-independent-availability-groups?view=sql-server-ver15

ステップの1つは、証明書を使用してエンドポイントを作成します。

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可用性グループのミラーリングエンドポイントで使用されているこの証明書を追跡し、その有効期限を確認する方法に関するガイダンスはありますか?また、クラスターのダウンタイムを発生させることなく、将来この証明書を更新するにはどうすればよいですか?

どんな助けでも大歓迎です!

2
A br

インスタンスレベルの証明書はマスターデータベースに格納されます
コンテキストをマスターデータベースに設定し、証明書を確認する必要があります。

use [master]
select * from sys.certificates

または、1つのコマンドで3部構成の名前を使用するだけです。

select * from [master].sys.certificates
2
Aleksey Vitsko