オンプレミス データベースにはテーブルがあり、それらのテーブルの列の種類は UDT です。このため、クラウド上でこれらの UDT を使用して同じ UDT とテーブルを作成しました。
しかし、それらを同期しようとすると、UDT をサポートしていないというエラーが表示されます。
ここで、SQL Azure で UDT の作成が許可され、それらのデータ型を使用したテーブルの作成も許可されている場合、同期を許可しないのはなぜでしょうか?
参考までに、「SQL Azure」は「SQLデータベース」と呼ばれるようになりました。そのため、Windows Azureの「SQLデータベース」への参照が見つかった場合は、要件にも適用することを検討できます。
SQLデータベースは、ユーザー定義のデータ型、拡張プロパティ、Windows認証、またはUSEステートメントをサポートしていません。
ただし、2010年11月のSQL Server 2008 R2の更新には、SQLデータベースのサポートが含まれています。スクリプトの生成ウィザードで、データベースバージョンのSQLデータベースのスクリプトを作成できるようになったため、生成されたスクリプトは、SQLデータベースで実行するために直接互換性があります。このように生成されたスクリプトはSQLデータベースと互換性があり、さらに変更を加えることなくSQLデータベースでコンパイルできます。したがって、UDDTまたはカスタムデータ型は、この移行スクリプトを介してSQLデータベースに転送できます。
データベースがSQLServer2008より前の場合は、この記事の「SQL Server2008R2より前のスキーマの移行」セクションを使用できます。
残念ながら、現時点では回避策はありません。Data Sync Service は主に Sync Framework に基づいており、UDT もサポートしていません。ただし、Data Sync Service は、最新のリリースで空間データ型をサポートしています。