Ý nghĩa của mức độ tương thích của Microsoft là gì?


7

Đặt cmptlevel thành 80 trên SQL-Server 2005 sẽ hạn chế việc sử dụng PIVOT và ỨNG DỤNG, nhưng không ảnh hưởng đến việc sử dụng Hàm phân tích. Có bất kỳ lý trí đằng sau này?

Câu trả lời:


5

Một số lý do tôi đã quan sát, nhưng điều này không đầy đủ và là phỏng đoán của tôi

Mức độ tương thích không phải là tất cả hoặc không có gì. Nó cung cấp khả năng tương thích ngược một phần trong khi bạn khắc phục sự cố.

Một ví dụ về bộ ba với gợi ý LOCK

FROM
   Table (NOLOCK)   -- not allowed with level 90+

FROM
   Table WITH (NOLOCK)   -- WITH is optional for level 80

Tại sao điều này bây giờ là bắt buộc, tôi không biết. Làm gì với CTE?

Đối với PIVOT và ỨNG DỤNG Tôi nghi ngờ rằng một câu lệnh SQL sử dụng chúng chỉ đơn giản là cú pháp SQL Server 2000 bất hợp pháp trong khi ROW_NUMBER chỉ là một hàm không xác định và "ít" quan trọng

Một ví dụ sử dụng CROSS ỨNG DỤNG. Đối với 80, đây là cú pháp SQL Server 2000 bất hợp pháp.

FROM
   SomeTable S
   CROSS APPLY --or JOIN
   dbo.someTVF (S.column)

nhiều câu hỏi về SO về lỗi vì mức độ thấp hơn trong các phiên bản mới hơn để bạn xem xét và hy vọng hiểu

FYI, danh sách đầy đủ của 80-90 và 90-100 khác biệt


Bảng TỪ (NOLOCK) được hỗ trợ trong 90 (2005) và 100 (2008)
sam yi

1
@samyi: đúng là như vậy, nhưng hãy xem msdn.microsoft.com/en-gb/l Library / ms143179 (MySQL.90) .aspx Hãy tìm "VỚI từ khóa khi bạn đang sử dụng gợi ý bảng". Và đối với SQL Server 2008: msdn.microsoft.com/en-gb/l Library / ms143729 (MySQL.100) .aspx
gbn

5

Mức độ tương thích MSDN ALTER DATABASE giải thích hành vi của các cấp độ khác nhau. (chỉ cần cuộn xuống và bạn sẽ tìm thấy các bảng so sánh cho các chủ đề sau)

bạn có thể tìm thấy các bảng so sánh cụ thể hơn nếu bạn chỉ thay đổi Phiên bản từ menu trên cùng của MSDN (chúng được liên kết cho 3 phiên bản hàng đầu trong danh sách sau)

  • 80 = Máy chủ SQL 2000
  • 90 = Máy chủ SQL 2005
  • 100 = Máy chủ SQL 2008 và R2
  • 110 = Máy chủ SQL 2012
  • 120 = Máy chủ SQL 2014

  • Sự khác biệt giữa các cấp độ tương thích thấp hơn và cấp 120

    • dòng mẫu (Trình tối ưu hóa truy vấn cũ hơn được sử dụng thay cho công cụ SQL Server 2014 mới bao gồm các cải tiến đáng kể cho thành phần tạo và tối ưu hóa các kế hoạch truy vấn)
  • Sự khác biệt giữa các cấp độ tương thích thấp hơn và cấp 110
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.