CDC (変更データ キャプチャ) が有効になっている SQL Server 2008 R2 (SP 1) でホストされている SQL Server データベースがあります。
ライセンスの有効期限が切れたため、SQL Server インスタンスを再インストールした後 (展開チームが正しいライセンスをインストールするのを忘れていました:( )、新しくインストールしたインスタンスにデータベースをアタッチしました。
ただし、CDC はすべてのテーブルに対して有効ではありませんでした。
sys.sp_cdc_enable_table
私たちは得た
データベース 'DBName' は変更データ キャプチャに対して有効になっていません。正しいデータベース コンテキストが設定されていることを確認し、操作を再試行してください。変更データ キャプチャが有効になっているデータベースについてレポートするには、sys.databases カタログ ビューの is_cdc_enabled 列に対してクエリを実行します。
CDC が有効になっていないことを示唆しています。
そのため、実行して有効にしようとしました
sys.sp_cdc_enable_db
次のエラーが発生しました。
メッセージ 22906、レベル 16、状態 1、プロシージャ sp_cdc_enable_db_internal、行 49
'cdc' という名前のデータベース ユーザーまたは 'cdc' という名前のスキーマが現在のデータベースに既に存在するため、データベース 'DBName' を変更データ キャプチャに対して有効にすることはできません。これらのオブジェクトは、変更データ キャプチャでのみ必要です。ユーザーまたはスキーマを削除または名前変更して、操作を再試行してください。
実行してCDCを無効にしようとした後
sys.sp_cdc_disable_db
同じエラーが再び発生しました。
データベース 'DBName' は変更データ キャプチャに対して有効になっていません。正しいデータベース コンテキストが設定されていることを確認し、操作を再試行してください。変更データ キャプチャが有効になっているデータベースについてレポートするには、sys.databases カタログ ビューの is_cdc_enabled 列に対してクエリを実行します。
私の推測では、データベース システム テーブルと SQL サーバー システム テーブルの間に矛盾があり、CDC が無効な状態になっていると思われます。
それを修正する方法はありますか?
どんな考えでも大歓迎です。