sysadmin 固定サーバー ロールのメンバーであるログイン アカウントを使用して、SQL2012 インスタンスの 1 つで CDC を有効にしようとすると、エラーが発生します。
Procedure sp_cdc_enable_db_internal
、
データベースで変更データ キャプチャが有効になっていることを示すメタデータを更新できませんでした。コマンド 'SetCDCTracked(Value = 1)' の実行中にエラーが発生しました WindowsNT グループ/ユーザーに関する情報を取得できませんでした"
問題のログイン アカウントは最初にデータベースを作成したため、この特定のデータベースの dbo ユーザーの下の「ログイン名:」に記載されています。
データベースでsp_changedbowner 'sa'を実行し、コマンドを再度実行してCDCを有効にすると、機能しました。何故ですか?
CDC を有効にするには、実際のデータベースの「db_owner」ロールのメンバーであるか、sysadmin ロールのメンバーである必要があると考えました。
誰かが私に説明するのを手伝ってもらえますか?
ありがとう。