Tôi nghĩ rằng SQL Azure được xây dựng trên đầu trang của SQL Server 2012, nhưng mức độ tương thích khi bạn tạo một cơ sở dữ liệu mới là 100 (mức độ tương thích SQL Server 2008 của), chứ không phải 110.SQL Azure Compatibility Cấp
SELECT compatibility_level FROM sys.databases WHERE name = 'Test';
tôi đã cố gắng thay đổi nó để 110 sử dụng hai phương pháp mà tôi biết:
ALTER DATABASE Test SET COMPATIBILITY_LEVEL = 110;
--> Incorrect syntax near 'SET'.
EXEC sp_dbcmptlevel 'Test', 110;
--> Could not find stored procedure 'sp_dbcmptlevel'.
lý do này là một vấn đề đối với tôi là vì SQL 2008 không hỗ trợ hình dạng địa lý mà cross bán cầu, vì vậy nếu bạn phóng to ra một bản đồ để xem thế giới và cố gắng lưu trữ các giới hạn của bản đồ nó sẽ thất bại. Khá ngớ ngẩn phải không?
Tôi nghĩ rằng điều này sẽ không phải là một vấn đề trong SQL Azure, bởi vì nó đã được cố định trong SQL Server 2012, nhưng khi tôi cố gắng tạo ra một hình dạng mà đi qua bán cầu tôi nhận được lỗi sau:
Microsoft.SqlServer.Types.GLArgumentException: 24205: The specified input does not represent a valid geography instance because it exceeds a single hemisphere. Each geography instance must fit inside a single hemisphere. A common reason for this error is that a polygon has the wrong ring orientation. To create a larger than hemisphere geography instance, upgrade the version of SQL Server and change the database compatibility level to at least 110.
Vì vậy, nó là nói với tôi để thay đổi mức độ tương thích, như nó biết rằng điều này đã được cố định đã có, nhưng tôi không thể tìm ra cách để làm điều đó trong SQL Azure. Bất cứ ai có một đề nghị của một cái gì đó để thử? Hoặc cho tôi biết nếu nó là không thể ngay bây giờ?
Bạn có tìm được giải pháp cho việc này không? Tôi nhận được chính xác cùng một vấn đề bán cầu ... – mcintyre321