Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Cửa hàng truy vấn Microsoft SQL Server

Microsoft® SQL Server® Query Store, như tên cho thấy, giống như một cửa hàng lưu trữ lịch sử cơ sở dữ liệu của các truy vấn được thực thi, thống kê thời gian thực thi truy vấn và kế hoạch thực thi. Bởi vì dữ liệu được lưu trữ trên đĩa, bạn có thể truy xuất dữ liệu lưu trữ truy vấn bất kỳ lúc nào cho mục đích khắc phục sự cố và việc khởi động lại Máy chủSQL không ảnh hưởng đến dữ liệu. Sử dụng Cửa hàng truy vấn, được giới thiệu trong SQL Server 2016 và có sẵn trong tất cả các phiên bản sau này, để khắc phục sự cố hiệu suất do thay đổi kế hoạch truy vấn.

Giới thiệu

Bạn có thể thấy phân tích dữ liệu cơ sở hữu ích cho việc khắc phục sự cố hiệu suất, nhưng cho đến khi Cửa hàng truy vấn được giới thiệu, thông tin đó không có sẵn trong máy chủ SQL. Nếu Query Store được kích hoạt cho cơ sở dữ liệu, nó sẽ lưu giữ thông tin về các truy vấn được thực thi cùng với các kế hoạch thực thi và thống kê thực thi. Nó được kích hoạt ở cấp độ cơ sở dữ liệu và có thể được kích hoạt cho cơ sở dữ liệu của người dùng và cơ sở dữ liệu hệ thống MSDB. Truy vấn lưu trữ thông tin liên quan đến siêu dữ liệu và siêu dữ liệu được lưu trữ trong các bảng nội bộ trong chính cơ sở dữ liệu. Không cần quản lý bản sao lưu riêng của Cửa hàng truy vấn vì bản sao lưu cơ sở dữ liệu tiêu chuẩn có tất cả thông tin cần thiết. Để xem dữ liệu Cửa hàng truy vấn, bạn cần có View Database State quyền và bạn cần có DB_Owner quyền ép buộc và các kế hoạch không khoan nhượng. Bạn có thể xem dữ liệu này qua studio quản lý và thông qua T-SQL.

Thiết lập Cửa hàng Truy vấn

Thực hiện các bước sau để bật Cửa hàng truy vấn cho cơ sở dữ liệu:

  1. Nhấp chuột phải vào Cơ sở dữ liệu -> Chuyển đến Thuộc tính .
  2. Trong Chọn một trang , chọn Chọn Cửa hàng truy vấn .
  3. Trong Chung , thay đổi Chế độ hoạt động (Được yêu cầu) từ Off thành Read-Write .
  4. Để các trường khác ở Chế độ hoạt động (Được yêu cầu) hộp thả xuống đặt thành các giá trị mặc định được điền trước.
  5. Nhấp vào Ok trong hộp thuộc tính cơ sở dữ liệu để bật Cửa hàng truy vấn cho cơ sở dữ liệu đã chọn.

Bạn có thể kích hoạt Cửa hàng truy vấn với T-SQL bằng cách sử dụng mã sau:

ALTER DATABASE [DB_Name] SET QUERY_STORE = ON;

Các tùy chọn cấu hình khác nhau của Cửa hàng truy vấn

Danh sách sau đây chứa các mô tả về một số tùy chọn Cửa hàng truy vấn:

  • Chế độ hoạt động (Được yêu cầu) có ba giá trị:Off , Read OnlyRead Write . Khi Cửa hàng truy vấn có chế độ được đặt thành Read , không có kế hoạch thực thi mới hoặc thống kê thời gian chạy truy vấn nào được thu thập. Chế độ này chỉ dành cho các hoạt động chỉ đọc liên quan đến Cửa hàng truy vấn. Thay đổi chế độ thành Read Write cho phép Cửa hàng truy vấn thu thập các truy vấn được thực thi, kế hoạch thực thi được sử dụng cho các truy vấn đó và thống kê thời gian chạy cho các truy vấn đó chạy trong cơ sở dữ liệu đã chọn.

  • Khoảng thời gian tải dữ liệu (phút) cho phép bạn đặt tần suất các kế hoạch thực thi được thu thập và thống kê thời gian chạy truy vấn được chuyển từ bộ nhớ vào đĩa. Theo mặc định, nó được đặt thành 15 phút.

  • Khoảng thời gian thu thập thống kê xác định khoảng thời gian tổng hợp của thống kê thời gian chạy truy vấn sẽ được sử dụng bên trong Cửa hàng truy vấn. Theo mặc định, nó được đặt thành 60 phút.

  • Kích thước tối đa (MB) được sử dụng để định cấu hình kích thước tối đa của Cửa hàng truy vấn, theo mặc định, nó được đặt thành 100 MB. Dữ liệu trong Cửa hàng truy vấn được lưu trữ trong cơ sở dữ liệu nơi Cửa hàng truy vấn SQL Server được bật. Tùy thuộc vào sizecon được định cấu hình ở đây, sau khi Cửa hàng truy vấn đạt đến kích thước tối đa, chế độ hoạt động sẽ chuyển sang Read Only chế độ tự động.

  • Chế độ chụp giúp bạn chọn loại truy vấn để nắm bắt trong QueryStore. Tùy chọn mặc định là All , nơi lưu trữ mọi truy vấn được thực thi. Khi tùy chọn này được đặt thành auto , Cửa hàng truy vấn cố gắng phân loại truy vấn nắm bắt, theo mức độ ưu tiên và cố gắng bỏ qua các truy vấn không thường xuyên được thực thi cũng như các truy vấn đặc biệt khác.

  • Ngưỡng truy vấn cũ (Ngày) được sử dụng để xác định thời gian dữ liệu lưu lại trongQuery Store. Giá trị mặc định cho chế độ này là 30 ngày.

Báo cáo Cửa hàng Truy vấn

Cửa hàng truy vấn bao gồm các báo cáo sau:

  • Truy vấn được hồi quy :Các truy vấn xác định mà các chỉ số thực thi gần đây đã bị thụt lùi hoặc thay đổi thành tệ hơn.
  • Tiêu thụ Tài nguyên Tổng thể :Phân tích tổng mức tiêu thụ tài nguyên cho cơ sở dữ liệu để biết bất kỳ chỉ số thực thi nào.
  • Truy vấn tiêu tốn tài nguyên hàng đầu :Các truy vấn có tác động lớn nhất đến việc tiêu thụ tài nguyên cơ sở dữ liệu.
  • Truy vấn có kế hoạch bắt buộc :Báo cáo tích hợp, hiển thị tất cả các truy vấn có kế hoạch thực thi bắt buộc.
  • Truy vấn có mức độ thay đổi cao :Báo cáo này hiển thị các truy vấn có vấn đề về tham số hóa thường xuyên nhất.
  • Truy vấn được Theo dõi :Theo dõi việc thực hiện các truy vấn quan trọng nhất trong thời gian thực.
Cửa hàng truy vấn Microsoft SQL Server

Bắt buộc lên kế hoạch với Cửa hàng truy vấn

Do hồi quy kế hoạch, một truy vấn, hoạt động tốt ngày hôm qua, có thể mất quá nhiều thời gian để thực thi, tiêu tốn quá nhiều tài nguyên hoặc hết thời gian hôm nay. Mặc định, SQL Server chỉ giữ kế hoạch thực thi mới nhất cho các truy vấn. Bất kỳ thay đổi nào trong lược đồ, thống kê hoặc chỉ mục có thể thay đổi kế hoạch thực thi truy vấn được Trình tối ưu hóa truy vấn sử dụng. Kế hoạch cũng có thể bị xóa do địa chỉ trong bộ nhớ đệm của kế hoạch.

Query Store lưu trữ các kế hoạch truy vấn và thông tin thống kê được tổng hợp theo thời gian trong mỗi cơ sở dữ liệu được giám sát. Không giống như bộ đệm ẩn kế hoạch, Cửa hàng truy vấn có thể giữ lại nhiều kế hoạch cho mỗi truy vấn và duy trì lịch sử thay đổi kế hoạch truy vấn cùng với các số liệu thống kê liên quan cho mỗi kế hoạch. Bằng cách chọn trong số các kế hoạch thực hiện khác nhau, bạn có thể tiếp tục và bắt buộc bất kỳ kế hoạch thực hiện nào. Sau đó, Trình tối ưu hóa truy vấn chỉ sử dụng kế hoạch thực thi bắt buộc này cho các lần thực thi truy vấn sắp tới.

Cửa hàng truy vấn -> Mở các truy vấn tiêu thụ tài nguyên hàng đầu danh sách báo cáo queriest là tài nguyên sử dụng nhiều. Hãy chọn một truy vấn để kiểm tra:

Cửa hàng truy vấn Microsoft SQL Server

Di chuột qua Kế hoạch để xem các thống kê liên quan.

Cửa hàng truy vấn Microsoft SQL Server

Hãy so sánh các kế hoạch khác nhau.

Chi tiết kế hoạch 216:

Cửa hàng truy vấn Microsoft SQL Server

Chi tiết kế hoạch 195:

Cửa hàng truy vấn Microsoft SQL Server

Thời lượng trung bình cho Kế hoạch 216 thấp hơn, vì vậy nó có thể được sử dụng để buộc planin này thực hiện thêm. Nhấp vào Kế hoạch buộc để xem màn hình xác nhận với thông báo “Bạn có muốn bắt buộc gói 216 cho truy vấn 42 không?”

Cửa hàng truy vấn Microsoft SQL Server

Nhấp vào . Sau khi kế hoạch bị ép buộc, nó được đánh dấu bằng một dấu kiểm được hiển thị trong ảnh chụp màn hình sau. Trong tương lai, kế hoạch này sẽ được sử dụng trình tối ưu hóa truy vấn để thực thi.

Cửa hàng truy vấn Microsoft SQL Server

Các phương pháp hay nhất với Cửa hàng truy vấn

  • Sử dụng SQL Server Management Studio mới nhất để xem các tính năng và cải tiến mới nhất.

  • Xác minh và giám sát việc thu thập dữ liệu trong Cửa hàng truy vấn.

  • Đặt Truy vấn tối ưu chế độ chụp và truy cập lại tùy chọn Cấu hình cửa hàng truy vấn nếu cần để thực hiện các điều chỉnh.

  • Tránh sử dụng các truy vấn không được tham số hóa.

  • Thường xuyên kiểm tra trạng thái của các kế hoạch bắt buộc.

Kết luận

Cửa hàng truy vấn là một tính năng hữu ích được giới thiệu trong SQL Server 2016. Vì cải tiến hiệu suất là một trong những kỹ năng quan trọng cần thiết cho mọi người quản trị cơ sở dữ liệu (DBA), bạn nên tìm hiểu cách định cấu hình và sử dụng Cửa hàng truy vấn. Bạn cũng có thể sử dụng Cửa hàng truy vấn để theo dõi các thay đổi về hiệu suất và khắc phục sự cố bất kỳ sự xuống cấp nào trong hiệu suất truy vấn bằng cách so sánh các kế hoạch thực thi. Bạn có thể bắt buộc kế hoạch thủy sinh cho bất kỳ truy vấn nào. Điều này sẽ ghi đè cái được lưu trong bộ nhớ cache của gói và do đó mang lại lợi ích về hiệu suất. Cửa hàng truy vấn không có tác động lớn đến hiệu suất SQLServer vì nó được sử dụng để nắm bắt và lưu thống kê thực thi truy vấn và các kế hoạch để xem sau.

Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào.

Tối ưu hóa môi trường của bạn với quản trị, quản lý và cấu hình của chuyên gia

Dịch vụ ứng dụng của Rackspace (RAS) các chuyên gia cung cấp các dịch vụ chuyên nghiệp và được quản lý sau trên nhiều danh mục ứng dụng:

  • nền tảng Thương mại điện tử và Trải nghiệm Kỹ thuật số
  • Hoạch định Nguồn lực Doanh nghiệp (ERP)
  • Kinh doanh Thông minh
  • Quản lý quan hệ khách hàng của Salesforce (CRM)
  • Cơ sở dữ liệu
  • Lưu trữ Email và Năng suất

Chúng tôi cung cấp:

  • Chuyên môn không thiên vị :Chúng tôi đơn giản hóa và hướng dẫn hành trình hiện đại hóa của bạn, tập trung vào các khả năng mang lại giá trị tức thì.
  • Trải nghiệm cuồng tín ™:Chúng tôi kết hợp một Quy trình trước. Công nghệ thứ hai. Tiếp cận với hỗ trợ kỹ thuật chuyên dụng để cung cấp các giải pháp toàn diện.
  • Danh mục đầu tư vô song :Chúng tôi áp dụng nhiều kinh nghiệm về đám mây để giúp bạn lựa chọn và triển khai công nghệ phù hợp trên đám mây phù hợp.
  • Phân phối nhanh :Chúng tôi đáp ứng bạn ở nơi bạn đang ở trong hành trình và thành công vượt bậc với bạn.

Trò chuyện ngay bây giờ để bắt đầu.