27/11/2022

Có gì mới trong SQL Server 2017

SQL Server 2017 được phát hành chính thức vào tháng 10 năm 2017. Những phần đầu tiên của SQL Server 2017 đã được phát hành từ cuối năm 2016, tính đến cuối năm 2017 nó đã có 10 bản phát hành.

Các phiên bản SQL Server 2017 chủ yếu kết nối với Linux, mang sức mạnh của SQL vào Linux. Tóm lại, bạn có thể cài đặt SQL Server 2017 trên Linux, sử dụng SQL Server 2017 trên bộ chứa docker dựa trên Linux. SQL Server 2017 cũng cho phép lựa chọn ngôn ngữ phát triển, phát triển nó tại chỗ hoặc trên đám mây.

Trong bản phát hành này, SQL Server 2017 cũng cải thiện hiệu suất, khả năng mở rộng và các tính năng trong từng phần như Công cụ cơ sở dữ liệu, Dịch vụ tích hợp, Dịch vụ dữ liệu chính, Dịch vụ phân tích, v.v. Trong bài viết này, chúng ta sẽ cùng xem xét. qua từng phần.

Có gì mới trong SQL Server 2017

Tính năng mới trong Công cụ cơ sở dữ liệu

ID_cache

Xác định bộ nhớ cache

Tùy chọn này giúp bạn tránh lỗi trong giá trị của cột ID, trong trường hợp máy chủ tắt hoặc chuyển đổi dự phòng đột xuất hoặc thậm chí chuyển sang máy chủ phụ. Nó được sử dụng với lệnh ALTER DATABPED CONFIGURATION, để kích hoạt cài đặt cấu hình cơ sở dữ liệu. Cú pháp như sau:

CẤU HÌNH CƠ SỞ DỮ LIỆU ĐÃ ĐƯỢC THU NHẬP {{ [ FOR SECONDARY] BỘ }} | CLEAR PROCEDURE_CACHE | BỘ < set_options >
[;] < set_options > :: = {MAXDOP = { | CHÍNH THỨC} | LEGACY_CARDINALITY_ESTIMATION = {BẬT | TẮT | CHÍNH THỨC} | PARAMETER_SNIFFING = {BẬT | TẮT | CHÍNH THỨC} | QUERY_OPTIMIZER_HOTFIXES = {BẬT | TẮT | CHÍNH THỨC} | IDENTITY_CACHE = {BẬT | TẮT } }

Cải thiện xử lý truy vấn thích ứng

Nếu bạn muốn cải thiện hiệu suất thực thi truy vấn thì tính năng mới này sẽ giúp ích rất nhiều. Nó được hỗ trợ trong SQL Server và Azure SQL Database.

Đây là quy trình tối ưu hóa thông thường để thực thi truy vấn SQL:

Đầu tiên, trình tối ưu hóa truy vấn sẽ tính toán tất cả các kế hoạch thực thi truy vấn có thể có cho truy vấn mới được tạo. Tiếp theo sẽ đưa ra phương án tối ưu nhất / nhanh nhất. Cuối cùng, kế hoạch được ước tính là tối ưu nhất sẽ được chọn để thực hiện truy vấn và quá trình thực thi sẽ bắt đầu.

Quá trình trên có những nhược điểm sau:

Nếu kế hoạch tối ưu bị đánh giá thấp, hiệu suất sẽ bị ảnh hưởng. Nếu không đủ bộ nhớ được cấp phát để thực hiện kế hoạch tối ưu, sẽ xảy ra hiện tượng tràn.

Dưới đây là các tính năng mà SQL Server 2017 đã đưa vào để khắc phục các nhược điểm trên:

Phản hồi cấp bộ nhớ chế độ hàng loạt: Phản hồi này sẽ tính toán lại bộ nhớ cần thiết để thực hiện kế hoạch và cấp phát bộ nhớ cho nó từ bộ đệm.

Batch Mode Adaptive Joins (Tham gia thích ứng với chế độ hàng loạt): Có 2 kiểu tham gia: băm và vòng lặp lồng nhau. Khi truy vấn kế hoạch thực thi được nhập và quét lần đầu tiên, nó sẽ quyết định loại kết hợp nào được áp dụng để có được kết quả đầu ra ở tốc độ tối ưu.

Thực thi xen kẽ: Trong quá trình thực hiện kế hoạch tối ưu, tính năng này sẽ “tạm dừng” khi gặp các hàm có giá trị bảng nhiều điểm để chỉ tính toán hoàn hảo các phần tử. trong bảng này, và sau đó tiếp tục tối ưu hóa.

See also  Cách hạn chế quyền truy cập vào Cài đặt và Bảng điều khiển trong Windows 10

Điều chỉnh tự động

Tính năng này kiểm tra các vấn đề trong hiệu suất truy vấn, xác định chúng và khắc phục chúng bằng các giải pháp được đề xuất. Đây là các kỹ thuật điều chỉnh tự động có sẵn trong tính năng này:

Tự động sửa (Kế hoạch): Kỹ thuật này có sẵn trong Cơ sở dữ liệu SQL 2017, nó sẽ tìm các vấn đề về hiệu suất trong kế hoạch truy vấn nhất định, sau đó sửa chúng bằng các giải pháp được đề xuất.

Quản lý tự động (Chỉ mục): Kỹ thuật này được bao gồm trong SQL 2017 Azure DB, nó sẽ xác định và sửa thứ tự của các chỉ mục bằng cách loại bỏ chỉ mục không chuẩn và thêm chỉ mục chính xác.

Tính năng mới trong Graph DB

GraphDB là gì?

Về cơ bản, Graph DB là tập hợp các nút và các cạnh, các cạnh thể hiện mối quan hệ giữa các nút, các nút là các thực thể, một cạnh có thể được kết nối với nhiều nút. Graph DB hoạt động giống như một cơ sở dữ liệu quan hệ và bạn có thể sử dụng nó trong các trường hợp sau:

Khi bạn có một cơ sở dữ liệu ở dạng phân cấp và muốn lưu nhiều nút cha cho một nút.Khi bạn cần kiểm tra và phân tích dữ liệu và các mối quan hệ kết hợp.Khi có nhiều mối quan hệ.

Ở đây, từ khóa MATCH được sử dụng để truy vấn bảng Đồ thị và sắp xếp dữ liệu, với sự trợ giúp của một truy vấn duy nhất, người dùng có thể truy vấn trên đồ thị và dữ liệu quan hệ.

Luôn có sẵn (truy cập dữ liệu chéo)

Với sự trợ giúp của tính năng này, giờ đây có thể trao đổi chéo cơ sở dữ liệu giữa các phiên bản SQL khác nhau (một phiên bản SQL có thể kết nối với các phiên bản SQL khác). Nó cũng hỗ trợ việc trao đổi cơ sở dữ liệu phân tán. [SQL 2016 cũng hỗ trợ truy cập cơ sở dữ liệu chéo nhưng chỉ giữa các cá thể trong cùng một SQL Server.]

Cải tiến trong DTA

Trong SQL 2017, đã có một sự cải thiện hiệu suất trong cố vấn điều chỉnh Cơ sở dữ liệu (DTA). Cụ thể, các tùy chọn cho DTA đã được thêm vào.

Nếu bạn chưa biết DTA là gì:

DTA là một công cụ cơ sở dữ liệu kiểm tra truy vấn (đã xử lý) và sau đó đưa ra các cách để cải thiện hiệu suất, có thể bằng cách thay đổi cấu trúc cơ sở dữ liệu. dữ liệu (ví dụ: chỉ mục, khóa). DTA có thể được sử dụng theo hai cách sau:

Sử dụng GUI (giao diện) Sử dụng tiện ích lệnh

Hàm chuỗi mới

SQL 2017 mang đến cho người dùng một số hàm chuỗi mới như TRANSLATE, CONCAT_WS, STRING_AGG, TRIM. Chúng ta hãy xem xét từng chức năng một.

DỊCH

Về cơ bản, hàm này lấy một chuỗi ký tự làm đầu vào và sau đó chuyển đổi các ký tự này thành một số ký tự mới, hãy xem cú pháp bên dưới:

DỊCH (chuỗi đầu vào, ký tự, bản dịch)

Trong cú pháp trên, độ dài của ‘ký tự’ phải giống như trong ‘bản dịch’, nếu không hàm trên sẽ trả về giá trị lỗi. Ví dụ:

See also  Cách sử dụng bộ lọc trên Google Meet

BẢN DỊCH (‘6 * {10 + 10} /[6-4]’,'[]{} ‘,’ () () ‘)

Kết quả trả về của ví dụ trên sẽ là 6 * (10 + 10) / (6-4). Chúng ta có thể thấy dấu ngoặc nhọn và dấu ngoặc vuông được chuyển đổi thành dấu ngoặc tròn.

Hàm này có cơ chế hoạt động tương tự như hàm REPLACE, nhưng sử dụng đơn giản hơn thay vì hàm REPLACE. Ví dụ muốn có kết quả trả về trên bằng hàm REPLACE thì chúng ta phải viết hàm như sau, nhìn sơ qua thì không dễ hiểu:

CHỌN THAY THẾ (REPLACE (REPLACE (REPLACE (‘6 * {10 + 10} /))[6-4]’,’ {‘,’ (‘),’} ‘,’) ‘),'[‘, ‘(‘), ‘]’,’) ‘);

CONCATE_WS

Chức năng của hàm này chỉ cần nối tất cả các đối số đầu vào với các dấu phân cách được chỉ định. Vui lòng tham khảo cú pháp bên dưới:

CONCAT_WS (dấu phân tách, đối số1, đối số1 [, argumentN]…)

Hàm này tạo các chuỗi đơn bằng cách nối tất cả các đối số với sự trợ giúp của dấu phân cách, do đó, nó cần ít nhất 2 đối số để tạo ra kết quả, nếu không, kết quả sẽ được trả về. về sẽ lỗi. Ví dụ:

SELECT CONCAT_WS (‘,’, ‘Đếm số numers’, ‘một’, ‘hai’, ‘ba’, ‘bốn’) AS bộ đếm;

Kết quả trả về của lệnh trên sẽ là: một, hai, ba, bốn

Bạn cũng có thể sử dụng tên cột cơ sở dữ liệu thay vì các chuỗi được mã hóa.

TRIM

Hàm này cuối cùng cũng xuất hiện trong SQL 2017. Về cơ bản, nó hoạt động giống như hàm trim của C #, tức là loại bỏ tất cả các khoảng trắng thừa ở đầu và cuối chuỗi. Cú pháp như sau:

Kết quả là SELECT TRIM (‘trim me’);

Đầu ra của lệnh trên sẽ là: trim me

Hàm này sẽ không xóa khoảng trắng giữa các chuỗi.

STRING_AGG

Hàm này nối các giá trị của chuỗi với sự trợ giúp của dấu phân cách trong khi không thêm dấu phân cách vào cuối chuỗi. Dữ liệu đầu vào có thể là VARCHAR, NVARCHAR, bạn có thể tùy ý chỉ định thứ tự hiển thị kết quả bằng mệnh đề WITHIN GROUP.

Xem cú pháp bên dưới:

STRING_AGG (biểu thức, dấu phân tách) [ <order_clause> ]

:: =
TRONG VÒNG NHÓM (ĐẶT HÀNG THEO [ ASC | DESC ] )

Hãy tham khảo ví dụ sau:

Lựa chọn thành phố,
STRING_AGG (tên, ‘;’) TRONG VÒNG NHÓM (ĐẶT HÀNG THEO tên ASC) NHƯ tên
TỪ NHÓM Sinh viên THEO thành phố;

Trong ví dụ trên, tất cả các tên đã được nối và phân tách bằng dấu chấm phẩy (;). Mệnh đề WITHIN GROUP giúp chúng ta sắp xếp theo thứ tự. Kết quả trả về sẽ được hiển thị như sau:

Kết quả trả về

Có gì mới trong SSRS của SQL 2017 (Dịch vụ báo cáo)

Từ bây giờ, thiết lập SSRS không còn khả dụng trên thiết lập SQL Server nữa, bạn cần tải xuống từ cửa hàng tải xuống. [tại đây].Từ bây giờ, Trình thiết kế truy vấn sẽ hỗ trợ DAX. Các truy vấn DAX gốc có thể được tạo để ngăn chặn SSAS (dịch vụ phân tích). Tính năng này sẽ xuất hiện trong bản cập nhật mới nhất của các công cụ SQL và trình tạo báo cáo. Các lệnh OpenAPI được hỗ trợ bởi RESTful API và hiện tại RESTful API được SSRS. hỗ trợ. Từ bây giờ, bạn có thể đính kèm tệp bổ sung vào nhận xét của mình. Cổng dịch vụ báo cáo đã được nâng cấp đáng kể (tính năng này có sẵn trong SQL 2016)).

See also  Thông báo đẩy là gì?

Có gì mới trong SSIS (Dịch vụ tích hợp) trong SQL 2017

Từ bây giờ, bạn có thể thực hiện SSIS trên Linux, thêm khối lượng, trích xuất và chuyển đổi dữ liệu trực tiếp trên Linux.

Chia tỷ lệ cho phép các hệ thống phức tạp tích hợp với nhiều máy hiệu suất cao. Scaling có thể thực hiện tất cả các hoạt động với sự trợ giúp của Scale Out Master và Scale Out worker.

Có gì mới trong dịch vụ phân tích (SSAS) trong SQL 2017

Giao diện Get Data mới ra mắt trên SQL 2017 tương tự như MS Excel, power BI. Ngoài ra, các tính năng chuyển đổi dữ liệu và kết hợp dữ liệu cũng đã xuất hiện, bạn có thể thực hiện bằng cách sử dụng chế độ M.Tabular và trình tạo truy vấn cho SSAS – một cải tiến được giới thiệu trong SQL 2012, hiện đã được nâng cấp mạnh mẽ hơn trong SQL 2017.SQL 2017 giới thiệu Mã hóa mới gợi ý, được sử dụng để tối ưu hóa dữ liệu bảng lớn trong bộ nhớ. Cải tiến hiệu suất cho PIVOT.

Học máy

Tất cả chúng ta đều biết rằng SQL 2016 hiện hỗ trợ dịch vụ R và từ bây giờ, dịch vụ này sẽ được đổi tên thành dịch vụ học máy SQL Server. Lợi ích từ sự thay đổi này là bạn có thể dễ dàng sử dụng hệ thống lệnh R hoặc Python trên SQL Server.

Với tính năng mới này, Python có thể được chạy trong các thủ tục được lưu trữ. Bạn thậm chí có thể thực thi các lệnh từ xa thông qua SQL Server, điều này sẽ thực sự hữu ích cho các nhà phát triển Python. Tuy nhiên, tính năng này hiện chưa được hỗ trợ trên Linux, chúng ta hãy cùng chờ đợi những bản nâng cấp tiếp theo.

Để sử dụng học máy hiệu quả và tối ưu hơn, SQL sử dụng các giải pháp sau:

revoscalepy là một loại thư viện mới làm nền tảng cho các thuật toán hiệu suất cao, tính toán từ xa và các kịch bản. Về cơ bản revoscalepy dựa trên nền tảng RevoScaleR (một gói dịch vụ R) .microsoftml là một cụm máy chủ R của Microsoft hỗ trợ các thuật toán ngôn ngữ máy, Microsoft đã phát triển thư viện này cho máy học trong nội bộ. Nhưng qua nhiều năm nó đã được cải tiến và giờ đây microsoftml hỗ trợ truyền dữ liệu nhanh chóng cũng như chuyển đổi tài liệu lớn, v.v.

Hỗ trợ Linux

Về cơ bản, ngay từ cái tên “SQL 2017 trên Linux và Windows” chúng ta đã có thể biết rằng mục đích chính của lần nâng cấp này là hỗ trợ phát hành các sản phẩm trên nền tảng Linux. Dưới đây là một số tính năng chính của “SQL trên Linux”:

Khả năng lưu trữ cơ sở dữ liệu lõi Khả năng lưu trữ cơ sở dữ liệu lõi IPV6 Hỗ trợ NFS Hỗ trợ linux Mã hóa xác thực AD Hỗ trợ SSIS Có thể cài đặt trên Linux Công cụ lệnh MSSQL-conf Có sẵn SQL Cài đặt liền mạch và tự do hóa SQL cho lõi Visual studio (lõi VS đã có trên Linux) Trình tạo tập lệnh nền tảng chéo

bản tóm tắt

Còn rất nhiều điều để nói và tìm hiểu về SQL Server, chúng ta sẽ tiếp tục hành trình này trong các phần sau. Đừng ngần ngại gửi bình luận và câu hỏi!

Xem thêm: