Openflow Connector for SQL Server について¶
注釈
コネクタには、 コネクタ利用規約 が適用されます。
このトピックでは、 Openflow Connector for SQL Server の基本概念、ワークフロー、および制限事項について説明します。
Openflow Connector for SQL Server は、 SQL Server データベースインスタンスをSnowflakeに接続し、選択したテーブルのデータをほぼリアルタイムで、または指定したスケジュールで複製します。
このコネクタは、以下を実行する場合に使用します。
- 包括的で一元化されたレポート作成のため、 CDC を使ってMicrosoft SQL ServerデータをSnowflakeで複製する 
ワークフロー¶
- SQL Serverデータベース管理者は以下のタスクを実行します。 - SQL Server の複製設定を構成し、データベースとテーブルの変更追跡を有効にします。 
- コネクタの認証情報を作成します。 
- (オプション) SSL 証明書を提供します。 
 
- Snowflakeアカウント管理者は以下のタスクを実行します。 - コネクタのサービスユーザー、コネクタのウェアハウス、複製する宛先データベースを作成します。 
- コネクタをインストールします。 
- コネクタフロー定義に必要なパラメーターを指定します。 
- フローを実行します。Openflowでの実行時にコネクタは以下を行います。 - ジャーナルテーブルのスキーマを作成します。 
- 複製用に構成されたソーステーブルと一致するスキーマと宛先テーブルを作成します。 
- テーブルの複製方法 で説明されているように、テーブル複製のライフサイクルに従って複製を開始します。 
 
 
テーブルの複製方法¶
テーブルは以下のステージで複製されます。
- スキーマのイントロスペクション: コネクタは、列名やタイプを含むソーステーブルの列を検出し、Snowflakeとコネクタの制限事項に対してそれらを検証します。検証に失敗するとこのステージは失敗し、サイクルが完了します。このステージが正常に終了すると、コネクタは空の宛先テーブルを作成します。 
- スナップショットロード: コネクタは、ソーステーブルで利用可能なすべてのデータを宛先テーブルにコピーします。このステージが失敗した場合、それ以上のデータは複製されません。正常に完了すると、ソーステーブルのデータが宛先テーブルで利用可能になります。 
- 増分ロード: コネクタはソーステーブルの変更を追跡し、その変更を宛先テーブルに適用します。このプロセスはテーブルが複製から削除されるまで続きます。このステージで失敗すると、問題が解決するまでソーステーブルの複製が永久的に停止します。 
注釈
一時的な失敗(接続エラーなど)が発生しても、テーブルの複製は妨げられません。しかし、永久的な失敗(サポートされていないデータ型など)が発生すると、テーブルの複製ができなくなります。永久的な失敗によってテーブルが複製できなくなった場合、複製するテーブルのリストからそのテーブルを削除します。失敗の原因となった問題に対処したら、複製するテーブルのリストに戻すことができます。
サポートされている SQL Serverバージョン¶
以下のテーブルに、テスト済みで公式にサポートされている SQL Serverバージョンを一覧表示します。
| プラットフォーム | サービス/バージョン | エディション/ティア | サポート対象 | 
|---|---|---|---|
| オンプレミス | Developer、Enterprise、Standard | ✔ サポート対象 | |
| Microsoft SQL Server 2019 | Developer、Enterprise、Standard | ✔ サポート対象 | |
| Microsoft SQL Server 2017 | Developer、Enterprise、Standard | ✔ サポート対象 | |
| Microsoft SQL Server 2016 | Developer、Enterprise、Standard | ✔ サポート対象 | |
| Microsoft SQL Server 2014 | すべて | 未試験 | |
| Microsoft SQL Server 2012 | すべて | 未試験 | |
| Azure | すべてのインスタンスタイプ | ✔ サポート対象 | |
| すべてのインスタンスタイプ | ✔ サポート対象 | ||
| SQL Server on Azure VM | すべて | 未試験 | |
| AWS | すべてのインスタンスタイプ | ✔ サポート対象 | |
| SQL Server for Amazon EC2 | すべて | 未試験 | |
| Google Cloud | Google Cloud SQL for SQL Server | すべて | 未試験 | 
Openflow要件¶
- ランタイムのサイズはM以上である必要があります。大量のデータを複製する場合、特に行サイズが大きい場合は、より大きなランタイムを使用します。 
- コネクタは、マルチノードのOpenflowランタイムをサポートしていません。このコネクタのランタイムを、 Min nodes および Max nodes を - 1に設定して構成します。
制限事項¶
- コネクタは、 SQL Serverでのユーザー名とパスワードによる認証のみをサポートしています。 
- コネクタは、Snowflakeでサポートされているデータ型のテーブルのみを複製します。これらのデータ型のリストについては、 データ型の概要 をご参照ください。 
- コネクタでは、複製されるすべてのテーブルに主キーが必要です。 
- デフォルト値を持つ新しい NOT NULL 列がソースデータベースに追加されても、コネクタはSnowflakeデータベースの既存の記録を更新しません。 
- 列フィルター JSON に含まれたリストに新しい列が追加されても、コネクタはSnowflakeデータベースの既存の記録を更新しません。 
- ソースデータベースで列を削除し、同じ名前で追加し直した後、さらに削除するとエラーが発生します。 
- 列フィルター JSON に列を含めて除外した後、さらに含めようとするとエラーが発生します。 
- コネクタは、主キーの定義の変更、数値列の精度やスケールの変更を除いて、ソーステーブルのスキーマの変更をサポートしています。 
- コネクタは、テーブルの切り捨て操作をサポートしていません。 
注釈
特定の列を複製から除外することで、特定のテーブル列に影響する制限を回避できます。