2012-05-20 26 views
7

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ờ?

+1

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

Trả lời

2

Thật khó để nói nếu hiện SQL Azure được dựa trên SQL Server 2008 hoặc 2012 tuy nhiên tháng 11 năm 2011 cập nhật thêm nhiều tính năng mới cho nó từ SQL Server 2008 và 2012. Thông tin thêm về Database Engine phiên bản:

Cập nhật phiên bản động cơ: Bản phát hành này cập nhật phiên bản cơ sở dữ liệu SQL Azure cơ bản từ 11.0.1477.26 đến 11.0.1750.34 khi nó được triển khai trên các trung tâm dữ liệu.

Các cuộc đàm phán liên kết sau đây về những gì được và những gì không được hỗ trợ với SQL Azure so sánh để SQL Server 2008 và SQL Server 2008 R2:

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

Các liên kết sau đây thêm thông tin thêm về những gì cải tiến năng lập trình mới thêm vào trong SQL Azure từ SQL server 2012:

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

+0

Điều này được đóng nhưng không thực sự trả lời câu hỏi ... –

+0

+1 Tôi nghĩ rằng nó trả lời câu hỏi khá tốt. Cơ sở dữ liệu là phiên bản 11, mức độ tương thích là 100. Mỗi liên kết thứ hai, bạn có thể thấy rằng nó có được các tính năng truy vấn SQL 2012 như OFFSET/FETCH. Tuy nhiên, nó có vẻ như nếu bạn dựa vào một cái gì đó trong mức độ tương thích 110, bạn sẽ không nhận được nó (chưa - Microsoft đang thực hiện những cải tiến lớn thường xuyên cho Azure). – Paul

2

UPDATE: tháng 8 năm 2015 Azure Sql Database V12 có quảng cáo mức độ tương thích efault là 120 với khả năng lên tới 130 hoặc xuống bằng cú pháp ALTER DATABASE SET COMPATIBILITY_LEVEL.

Các vấn đề liên quan