8.3.2. SQL Server テーブルでの CDC の有効化


SQL Server 管理者は、Debezium がキャプチャーするソーステーブルで変更データキャプチャー (CDC) を有効にする必要があります。データベースが CDC に対してすでに有効になっている必要があります。テーブルで CDC を有効にするには、SQL Server 管理者はストアドプロシージャー sys.sp_cdc_enable_table をテーブルに対して実行します。ストアドプロシージャーは、SQL Server Management Studio または Transact-SQL を使用すると実行できます。キャプチャーするすべてのテーブルに対して SQL Server の CDC を有効にする必要があります。

前提条件

  • CDC が SQL Server データベースで有効になっている。
  • SQL Server Agent が稼働している。
  • データベースの db_owner 固定データベー出力ルのメンバーである。

手順

  1. SQL Server Management Studio の View メニューから Template Explorer をクリックします。
  2. Template Browser で、SQL Server Templates を展開します。
  3. Change Data Capture > Configuration を展開した後、Enable Table Specifying Filegroup Option をクリックします。
  4. テンプレートで、 USE ステートメントのテーブル名を、キャプチャーするテーブルの名前に置き換えます。
  5. ストアドプロシージャー sys.sp_cdc_enable_table を実行します。

    以下の例は、テーブル MyTable に対して CDC を有効にする方法を示しています。

    以下に例を示します。SQL Server テーブルに対する CDC の有効化

    USE MyDB
    GO
    
    EXEC sys.sp_cdc_enable_table
    @source_schema = N'dbo',
    @source_name   = N'MyTable', 1
    @role_name     = N'MyRole',  2
    @filegroup_name = N'MyDB_CT',3
    @supports_net_changes = 0
    GO

    1 1 1 1 1 1 1
    キャプチャーするテーブルの名前を指定します。
    2 2 2 2 2 2 1 2
    ソーステーブルのキャプチャされた列に対する SELECT 権限を付与したいユーザーを追加できるロール My Role を指定します。sysadmin または db_owner ロールのユーザーも、指定された変更テーブルにアクセスできます。sysadmin または db_owner のメンバーだけがキャプチャされた情報に完全にアクセスできるようにするには、@role_name の値を NULL に設定します。
    3 3 3 3 3 2 3
    キャプチャしたテーブルの変更テーブルを SQL Server が配置する filegroup を指定します。指定された filegroup は、すでに存在している必要があります。ソーステーブルに使用するのと同じ filegroup に変更テーブルを置かないことが推奨されます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.