2017-10-24 21 views
0

私はCDCを初めて使用しているので、SQL ServerデータベースでCDCを有効にするストアドプロシージャの調査を開始しました。 sys.sp_cdc_enable_dbを調べて、ストアドプロシージャsys.sp_cdc_enable_db_internalが見つかりませんでしたというメッセージが表示されます。私は自分のデータベースとmasterデータベースとmsdbデータベースのすべてを調べました。 SSMSがこのストアドプロシージャを見つけることができない理由を教えてください。ストアドプロシージャ "sys.sp_cdc_enable_db_internal"が見つかりませんでした

答えて

0

この機能は、から始まるSQL Server EnterpriseおよびDeveloperエディションでのみ使用できます。システムストアドプロシージャを使用してのみ有効にすることができます。 SQL Server Management Studioのメニューで

  1. 、オープンビュー
  2. クリックしてテンプレート
  3. :SQL Server Management Studioのテンプレートを開くには、さまざまな機能関連のアクション

    のためのコードテンプレートの広い範囲を提供します

  4. Open SQL Server Templates
  5. Change Data Captureサブフォルダを開きます。 SQL Serverエージェントが実行されていることを確認し

    :投与のためのT-SQLテンプレート、設定、列挙やメタデータのクエリは、機能を設定するには enter image description here

ご利用いただけます。オブジェクトエクスプローラで右クリックし、[開始]をクリックします。

データベースでこの機能を有効にするには、[構成]サブフォルダの[CDC用データベースを有効にする]テンプレートを開き、データベース名をデータベースの名前に置き換えますあなたは追跡したい

使用するログインには、SQL Server sysadmin権限が必要であり、データベースのdb_ownerである必要があります。そうでなければ、あなたはコマンド を実行するときに障害が発生し、次のエラー

SG 22830、レベル16、状態1、プロシージャsp_cdc_enable_db_internal、ライン 193を買ってあげる「(値= 1)SetCDCTracked」。返されたエラーは15517でした: 'プリンシパル "dbo"が ではないため、 がデータベースプリンシパルとして実行できません。このプリンシパルのプリンシパルは偽装できないか、許可を受けていません。アクションとエラーを使用して、障害の原因を特定し、要求を再送信します。

詳細情報ビスト

https://solutioncenter.apexsql.com/enable-use-sql-server-change-data-capture/

+0

こんにちは、あなたの詳細な答えてくれてありがとう。私はすでに自分のデータベースでCDCを有効にしており、sys.sp_cdc_enable_tableを使ってテーブルのCDCを有効にし、捕捉された列リストについて理解し、CDCデータの場所を知っています。私の質問は、sys.sp_cdc_enable_dbの定義を見ると、SSMSはストアドプロシージャsys.sp_cdc_enable_db_internalを見つけることができないと言っていました。誰にも分かりますか?ありがとう –

関連する問題