Vì SQL Server 2012 không còn Hỗ trợ Chính vào ngày 11 tháng 7 năm 2017 và SQL Server 2014 sẽ không còn Hỗ trợ Chính vào ngày 9 tháng 7 năm 2019 và vì cả SQL Server 2008 và SQL Server 2008 R2 sẽ không còn Hỗ trợ Mở rộng trên Ngày 9 tháng 7 năm 2019, tôi có ngày càng nhiều khách hàng đang có kế hoạch nâng cấp từ các phiên bản SQL Server kế thừa này lên phiên bản hiện đại hơn (2016 hoặc 2017).
Nếu bạn đang xem xét nâng cấp lên phiên bản SQL Server hiện đại, bạn nên chuyển sang SQL Server 2016 hay SQL Server 2017? Hướng dẫn chung của tôi là thực sự thích SQL Server 2017 trong hầu hết các trường hợp, trừ khi bạn có lý do hợp lệ, rõ ràng để không làm như vậy. Ví dụ:nếu bạn có phần mềm của 3 bên rõ ràng không được hỗ trợ trên SQL Server 2017, đó có thể là một phần mềm chặn (mặc dù tôi sẽ cố gắng nói chuyện với nhà cung cấp phần mềm của bạn về điều đó).
Vậy tại sao bạn nên sử dụng SQL Server 2017? Dưới đây là một số lý do trong một số danh mục khác nhau.
Tính năng công cụ mới trong SQL Server 2017
Mặc dù phần lớn công việc phát triển trong SQL Server 2017 được dành riêng để tạo ra một phiên bản chạy trên một số bản phân phối Linux khác nhau, vẫn còn một số tính năng Engine mới hữu ích trong SQL Server 2017.
Một tính năng mới hữu ích là Sửa kế hoạch tự động (dựa trên tính năng Cửa hàng truy vấn đã được giới thiệu trong SQL Server 2016). Tính năng này giúp phát hiện và tự động sửa nhiều vấn đề về độ ổn định của kế hoạch truy vấn. Đồng nghiệp của tôi, Erin Stellato, đã viết về Chỉnh sửa kế hoạch tự động và cách nó hoạt động trong SQL Server 2017 Enterprise Edition và Azure SQL Database một cách chi tiết hơn.
Một tính năng mới khác là Xử lý truy vấn thích ứng (AQP) (được bật với chế độ tương thích 140), rất hữu ích cho các hoạt động ở chế độ hàng loạt được sử dụng với chỉ mục Columnstore. AQP có ba thành phần, bao gồm Phản hồi cấp bộ nhớ thích ứng theo chế độ hàng loạt, Kết nối thích ứng với chế độ hàng loạt và Thực thi xen kẽ cho các chức năng có giá trị của bảng đa câu lệnh.
Ngoài ra còn có một số cải tiến về chẩn đoán và khắc phục sự cố giúp cuộc sống của DBA dễ dàng hơn nhiều! Chúng bao gồm nhiều cải tiến Showplan rất hữu ích cho việc điều chỉnh truy vấn, cùng với một số DMV mới hữu ích để khắc phục sự cố chẩn đoán. Cửa hàng truy vấn thậm chí còn hiệu quả hơn trong SQL Server 2017 so với SQL Server 2016.
Ngoài ra còn có một số cải tiến “hướng tới cộng đồng” trong SQL Server 2017, chẳng hạn như sao lưu khác biệt thông minh, sao lưu nhật ký giao dịch thông minh, cải thiện hiệu suất sao lưu cho cơ sở dữ liệu nhỏ trên các máy chủ cao cấp và cải thiện chẩn đoán và giám sát tempdb.
Cải tiến sao chép
Microsoft đã tạo khả năng bảo vệ cơ sở dữ liệu phân phối từ xa trong Nhóm khả dụng với SQL Server 2017 CU6. Họ cũng đã thêm khả năng tải lại động các tham số hồ sơ của Tác nhân giao dịch trong SQL Server 2017 CU3. Điều này làm cho việc điều chỉnh và duy trì cấu trúc liên kết sao chép của bạn dễ dàng hơn nhiều so với trước đây.
Hỗ trợ của Microsoft
Khi một phiên bản chính của SQL Server không còn được Hỗ trợ Chính, thì sẽ không còn Gói dịch vụ hoặc Bản cập nhật tích lũy nào nữa. Chỉ các bản cập nhật bảo mật được phát hành trong khi phiên bản chính nằm trong Hỗ trợ mở rộng. Sau khi Hỗ trợ mở rộng kết thúc, sẽ không có thêm bản cập nhật nào trừ khi bạn mua Microsoft Premium Assurance (chỉ có sẵn cho SQL Server 2008 và mới hơn).
Bằng chứng gần đây về chính sách này là việc Microsoft sẽ không phát hành bản vá bảo mật Spectre / Meltdown cho SQL Server 2005. Sau khi Quy định chung về bảo vệ dữ liệu (GDPR) có hiệu lực vào ngày 25 tháng 5 năm 2018, các phiên bản SQL Server cũ hơn sẽ dễ bị tổn thương hơn theo thời gian khi chúng không được hỗ trợ của Microsoft.
SQL Server 2017 sẽ được hỗ trợ đầy đủ trong thời gian dài hơn khoảng 15 tháng so với SQL Server 2016. Microsoft có một trang có nhiều tài nguyên về việc kết thúc hỗ trợ cho SQL Server 2008 và 2008 R2.
Ngày kết thúc Hỗ trợ Chính và Mở rộng cho tất cả các phiên bản SQL Server gần đây được hiển thị trong Bảng 1.
Phiên bản SQL Server | Kết thúc Hỗ trợ Chính dòng | Kết thúc Hỗ trợ Mở rộng |
---|---|---|
SQL Server 2005 | Ngày 12 tháng 4 năm 2011 | Ngày 12 tháng 4 năm 2016 |
SQL Server 2008 SQL Server 2008 R2 | Ngày 8 tháng 7 năm 2014 | Ngày 9 tháng 7 năm 2019 |
SQL Server 2012 | Ngày 11 tháng 7 năm 2017 | Ngày 12 tháng 7 năm 2022 |
SQL Server 2014 | Ngày 9 tháng 7 năm 2019 | Ngày 9 tháng 7 năm 2024 |
SQL Server 2016 | Ngày 13 tháng 7 năm 2021 | Ngày 14 tháng 7 năm 2026 |
SQL Server 2017 | Ngày 11 tháng 10 năm 2022 | Ngày 12 tháng 10 năm 2027 |
Chính sách dịch vụ của Microsoft
Microsoft SQL Server 2017 được phát hành vào ngày 2 tháng 10 năm 2017 và cho đến nay, đã có sáu Bản cập nhật tích lũy SQL Server 2017 đã được phát hành. Microsoft đã áp dụng cái mà họ gọi là “Mô hình dịch vụ hiện đại” cho SQL Server 2017, có nghĩa là sẽ không có Gói dịch vụ nào cho SQL Server 2017 hoặc các phiên bản trong tương lai.
Thay vào đó, sẽ có Cập nhật tích lũy hàng tháng cho năm đầu tiên và sau đó là Cập nhật tích lũy hàng quý trong bốn năm tiếp theo sau đó. Điều này có nghĩa là các lỗi sẽ được sửa nhanh hơn nhiều trong năm đầu tiên sau khi phát hành. SQL Server 2017 đã được phát hành đủ lâu và tôi đánh giá là nó khá ổn định.
Microsoft không chỉ sửa các lỗi cụ thể trong Bản cập nhật tích lũy, họ còn phát hành chức năng mới và các cải tiến sản phẩm khác, thường tập trung vào việc cải thiện hiệu suất. Đây là danh sách các bản cập nhật và cải tiến cho SQL Server 2017, kể từ CU6.
SQL Server 2017 CU6
- Cập nhật để hỗ trợ loại bỏ phân vùng trong các kế hoạch truy vấn có chỉ mục không gian trong SQL Server 2016 và 2017
- Cải tiến:Bật cơ chế "cưỡng bức xả" trong SQL Server 2017 trên Linux
SQL Server 2017 CU5
- Khắc phục sự cố tắc nghẽn song song truy vấn nội bộ tốt hơn trong SQL Server 2017
- Cải thiện hiệu suất truy vấn khi bộ lọc bitmap được tối ưu hóa được áp dụng cho kế hoạch truy vấn trong SQL Server 2016 và 2017
SQL Server 2017 CU4
- Cải tiến:Cải thiện hiệu suất của SQL Server 2017 trên các hệ thống nhỏ hơn
SQL Server 2017 CU3
- Bản cập nhật bổ sung hỗ trợ cho tùy chọn MAXDOP cho các câu lệnh TẠO THỐNG KÊ và CẬP NHẬT THỐNG KÊ trong SQL Server 2017
- Cải thiện chẩn đoán tràn tempdb trong DMV và Sự kiện mở rộng trong SQL Server 2017
- Bản cập nhật cho phép Bản trình chiếu XML cung cấp danh sách thống kê được sử dụng trong quá trình tối ưu hóa truy vấn trong SQL Server 2017
- Bản cập nhật thêm thống kê thực thi của một hàm có giá trị vô hướng, do người dùng xác định vào tệp Showplan XML trong SQL Server 2017
- Bản cập nhật thêm thông tin mục tiêu hàng của trình tối ưu hóa trong các kế hoạch thực thi truy vấn trong SQL Server 2017
- Bản cập nhật cho phép công nghệ PolyBase trong SQL Server 2016 và 2017
- Bản cập nhật thêm cài đặt thời gian chờ CPU vào nhóm làm việc Thống đốc tài nguyên REQUEST_MAX_CPU_TIME_SEC trong SQL Server 2017
SQL Server 2017 CU2
- Cập nhật cho quy trình dọn dẹp theo dõi thay đổi thủ công trong SQL Server 2017
- Cải tiến:Các cải tiến chung đối với quy trình dọn dẹp theo dõi thay đổi trong SQL Server 2017
- Bản cập nhật thêm một sự kiện mở rộng mới "mark_transaction_latch_trace" trong SQL Server 2017 trên Linux và Windows
- Cải thiện hiệu suất cho Bộ lọc trung gian không gian trong SQL Server 2017
SQL Server 2017 CU1
- Cập nhật để cải thiện hiệu suất cho các chế độ xem quản lý động columnstore "column_store_row_groups" và "dm_db_column_store_row_group_physical_stats" trong SQL Server 2016 hoặc 2017
- Thêm khả năng tắt hoặc bật một số DMV và DMF mới được giới thiệu trong SQL Server 2017
- Cải tiến:Từ khoá mới được thêm vào câu lệnh TẠO và CẬP NHẬT THỐNG KÊ để duy trì tốc độ lấy mẫu cho các bản cập nhật thống kê trong tương lai trong SQL Server
Mặc dù bạn có thể nghĩ SQL Server 2017 “chỉ là một cổng Linux”, nhưng thực tế có nhiều cải tiến trong thế giới thực trong Công cụ cơ sở dữ liệu cốt lõi sẽ mang lại lợi ích cho tất cả các nền tảng. Microsoft tiếp tục bổ sung chức năng bổ sung cho sản phẩm trong Bản cập nhật tích lũy SQL Server 2017 và SQL Server 2017 sẽ được Microsoft hỗ trợ đầy đủ trong một khoảng thời gian dài hơn so với SQL Server 2016.