現在、SQL Server開発スタッフ用のTEST環境を作成しています。
本番環境には3つのSQL Serverがあり、SQL01
にミラーリングされたいくつかのデータベースが含まれていますSQL02
。 SQL03
「自動フェイルオーバーによる高い安全性」または同期構成での証人として機能します。
VMWare P2Vを使用して、3台すべてのマシンを個別のハードウェアに仮想化し、マシンのSIDを再構成し、これらの新しいマシンから本番サーバーのIPアドレスをブラックホール化しました。
最初はプロダクション監視マシンをブラックホール化するのを忘れていたので、TESTマシン上のデータベースはまだマシンを監視SQL03
として使用していました。この問題に気付いて、私はTESTのデータベースを再構成して、新しく仮想化されたTESTの目撃者を指すようにしましたTEST03
。
新しいミラーリング監視を使用するようにデータベースを再構成するには、プライマリサーバーで次のコマンドを入力しましたTEST01
。
ALTER DATABASE [TestDB] SET WITNESS = 'TCP://TEST03.domain.inet:5022';
予期しない応答がありました:
The ALTER DATABASE command could not be sent to the remote server instance
'TCP://TEST03.domain.inet:5022'. The database mirroring configuration was
not changed. Verify that the server is connected, and try again.
構成は運用マシンで機能し、テストマシンではまったく変更されていないため、このエラーメッセージに非常に困惑しました。
これを機能させるためLOGIN
に、テストの目撃者を作成する必要がありました。
CREATE LOGIN [DOMAIN\SQLServiceAccount] FOR WINDOWS WITH DEFAULT_DATABASE [Master];
そしてGRANT
そのCONNECT
問題のエンドポイント上の権利:
GRANT CONNECT ON ENDPOINT::Mirroring TO [DOMAIN\SQLServiceAccount];
その後、テスト環境のミラーリングされたデータベースを新しいテストの目撃者に正しくポイントすることができました。
運用監視エンドポイントを検査して、それに関連付けられているセキュリティを確認するにはどうすればよいですか?
私は検査できるシステムカタログがいくつかあるはずだと思いますが、Books-on-LineにはEndpointsに固有のものはなく、BingはBinglessです。
追加情報:
SELECT ep.endpoint_id, p.class_desc, p.permission_name, ep.name, sp.name
FROM sys.server_permissions p
INNER JOIN sys.endpoints ep ON p.major_id = ep.endpoint_id
INNER JOIN sys.server_principals sp ON p.grantee_principal_id = sp.principal_id
WHERE class = '105';
戻り値:
endpoint_id class_desc permission_name endpoint_name principal_name
2 ENDPOINT CONNECT TSQL Local Machine public
3 ENDPOINT CONNECT TSQL Named Pipes public
4 ENDPOINT CONNECT TSQL Default TCP public
5 ENDPOINT CONNECT TSQL Default VIA public
そして:
SELECT name, endpoint_id, protocol_desc, type_desc, role_desc
FROM sys.database_mirroring_endpoints;
戻り値:
name endpoint_id protocol_desc type_desc role_desc
Mirroring 65536 TCP DATABASE_MIRRORING WITNESS
sys.server_permissions
ミラーリングエンドポイントオブジェクトのエントリがないようです。65536 major_id
とminor_id
一致しません。また、エンドポイントへの参照を含むシステムデータベースはありません。
私は途方に暮れています。