2017-11-28 20 views
0

同期グループは現在プレビュー中で、Azure SQLデータベースの同期グループをセットアップして、オンプレミスSQL 2014インスタンスと一方向で同期します。Azure SQL同期グループからオンプレミスエラー

私たちのサーバーにローカル同期エージェントをインストールすることを含め、セットアッププロセスは順調でした。エラーはありません。

問題は、同期するテーブルを選択することになります。それらのすべてを選択すると、私はSyncをクリックしたとき、私はエラーを与えられたとして、インスタント失敗だった:成功したとき

enter image description here

だから、私は、1つのテーブルのみを選択しました。私はこれを1つずつ繰り返し、xml列が選択されていないことを確認しました。これはサポートされていないため、最後までは結果表が失敗します。

なぜこの表でエラーが発生するのでしょうか?

enter image description here

UPDATE

私は結果PlayerIdに問題を突き止めました。このフィールドの選択を解除すると、同期を開始するとエラーは表示されません(ただし、nullにできないFKのようには動作しません)。主キーと外部キーのデータ型は同じです。

+0

テーブルに無効なリレーションまたはインデックスがありますか?データ型は、スクリーンショットにあるものに基づいて問題とすべきではありません。すべての情報を含むスクリプトを(作成)スクリプトとして生成し、それが何を提供しているかを確認します。 –

+0

PlayerIdとプレーヤーのテーブルとの間には関係がありますか?リレーションシップに関連するフィールドのデータ型は同じですか? そのテーブルのPlayerIdは、ハブデータベースとメンバーデータベースの両方に存在しますか?スキーマの違い/変更は手動で伝播する必要があります。テーブルにフィールドを追加する場合は、フィールドを手動でメンバーデータベースに追加する必要があります。 –

+0

データ型はすべてのリレーションシップで同じで、同じバックアップからハブと子の両方のデータベースを作成して正確にミラーリングするため、同じエラーが発生します。 「無効な関係またはインデックス」とみなされるものがわからない – Ian

答えて

1

マイクロソフトのエンジニアが私たちの側でトレースを調べ、同期をトリガしようとしたときに問題が発生していることがわかりました。実際に表示されるエラーメッセージは次のとおりです。

[dbo]。[StrokeplayRoundResults]と[dbo]の間に循環依存関係があります。

現時点では、SQL Data Syncは循環依存性をサポートしていません。この動作は仕様です。この背後にある理由は、SQL Data Syncが外部キー制約に違反しないデータを挿入する正しい順序を見つけようとしているためです。循環依存がある場合、そのような順序は存在しません。

Microsoftは「要求の処理中に予期しないエラーが発生しました」ではなく、より明示的なエラーメッセージを表示します。

これが役に立ちます。お待ちいただいてありがとうございます。

+0

ありがとうAlberto、あなたはスターです!それは報告されたStrokeplayRoundResults < - Resultsテーブルからレベルアップした循環参照であり、Results < - Playersでした。 – Ian

+1

これらのうちの1つを削除し、最後にSQL Data Syncを構成して使い始めることを願っています。すてきな一日を! –

関連する問題