5

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 が無効な状態になっていると思われます。

それを修正する方法はありますか?

どんな考えでも大歓迎です。

4

2 に答える 2

0

また、CDC の有効化/無効化が処理される悪い方法にも遭遇しました。私があなたなら、cdc スキーマとスキーマ自体のすべてを削除して、データベースで CDC を再度有効にしてみます。または、(アタッチではなく) 復元する場合は、KEEP_CDC オプションがあります。

于 2013-02-17T00:24:21.923 に答える