SQL Azure は SQL Server 2012 の上に構築されていると思っていましたが、新しいデータベースを作成するときの互換性レベルは 110 ではなく 100 (SQL Server 2008 の互換性レベル) です。
SELECT compatibility_level FROM sys.databases WHERE name = 'Test';
私が知っている2つの方法を使用して、110に変更しようとしました。
ALTER DATABASE Test SET COMPATIBILITY_LEVEL = 110;
--> Incorrect syntax near 'SET'.
EXEC sp_dbcmptlevel 'Test', 110;
--> Could not find stored procedure 'sp_dbcmptlevel'.
これが私にとって問題である理由は、SQL 2008 が半球を横切る地理形状をサポートしていないためです。マップをズームアウトして世界を表示し、マップの境界を保存しようとすると失敗します。かなりばかげていますよね?
これは SQL Server 2012 で修正されているため、SQL Azure では問題にならないと思っていましたが、半球を横切る形状を作成しようとすると、次のエラーが発生します。
Microsoft.SqlServer.Types.GLArgumentException: 24205: 指定された入力は、単一の半球を超えているため、有効な地理インスタンスを表していません。各 geography インスタンスは、単一の半球内に収まる必要があります。このエラーの一般的な理由は、ポリゴンのリングの向きが間違っていることです。半球より大きい geography インスタンスを作成するには、SQL Server のバージョンをアップグレードし、データベースの互換性レベルを少なくとも 110 に変更します。
そのため、互換性レベルを変更するように指示されています。これは既に修正されていることを知っているようですが、SQL Azure でそれを行う方法がわかりません。試してみるべき何かの提案はありますか?または、それが現在不可能な場合はお知らせください。