7

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 でそれを行う方法がわかりません。試してみるべき何かの提案はありますか?または、それが現在不可能な場合はお知らせください。

4

2 に答える 2

2

現在のSQLAzureがSQLServer2008または2012に基づいているかどうかはわかりませんが、2011年11月の更新により、SQL Server 2008および2012から多くの新機能が追加されています。データベースエンジンバージョンの詳細:

更新されたエンジンバージョン:このリリースでは、データセンター全体に展開されるため、基盤となるSQLAzureデータベースエンジンのバージョンが11.0.1477.26から11.0.1750.34に更新されます。

次のリンクでは、SQLServer2008およびSQLServer2008 R2と比較して、SQLAzureでサポートされているものとサポートされていないものについて説明しています。

http://msdn.microsoft.com/en-us/library/windowsazure/ff394115

次のリンクは、SQLServer2012からSQLAzureに追加された新しいプログラマビリティ拡張機能に関する詳細情報を追加します。

http://msdn.microsoft.com/en-us/library/windowsazure/hh987034.aspx

于 2012-05-21T03:05:23.490 に答える