初めて投稿します
SQL Server2008 R2 developper をインストールして使用しております。
変更データ キャプチャ(CDC: Change Data Capture)機能を利用したいのですが
クエリを使い次のコマンドを実行しました
USE データベース名
EXEC sys.sp_cdc_enable_db
その結果エラーが表示されます。
以下、内容
『メッセージ22830、レベル16、状態1、プロシージャsp_cdc_enable_db_internal、行186
データベースokahashi_local でChange Data Capture が有効になっていることを示すメタデータを更新できませんでした。このエラーはコマンド'SetCDCTracked(Value = 1)' の実行中に発生しました。返されたエラーは15517: 'データベースプリンシパルとして実行できません。プリンシパル"dbo" が存在しないか、この種類のプリンシパルで権限を借用できないか、ユーザーに権限がありません。' です。アクションおよびエラーを使用してエラーの原因を特定し、要求を再実行してください。
メッセージ266、レベル16、状態2、プロシージャsp_cdc_enable_db_internal、行0
EXECUTE 後のトランザクション数は、BEGIN ステートメントとCOMMIT ステートメントの数が一致していないことを示しています。以前の数= 0、現在の数= 1。
メッセージ266、レベル16、状態2、プロシージャsp_cdc_enable_db、行0
EXECUTE 後のトランザクション数は、BEGIN ステートメントとCOMMIT ステートメントの数が一致していないことを示しています。以前の数= 0、現在の数= 1。
メッセージ3998、レベル16、状態1、行1
コミットできないトランザクションはバッチの終了時に検出されます。このトランザクションはロールバックされます。』
現状、エラーが出る理由が分からない状態です。
調べてみると、
ストアドプロシジャ sys.sp_cdc_enable_db には
固定サーバー ロール sysadmin のメンバーシップが必要です
という文言がMicrosoftのサイトに載っていました。これが原因なのでしょうか。
これが原因であればsysadmin のメンバーシップをどのように設定すれば良いのでしょうか。
SQL Serverを使用して間もないため知識もなく不勉強な点も多いですが、
ご回答宜しくお願い致します。