Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

4 Mẹo để Chạy Chẩn đoán Máy chủ SQL

Cơ sở dữ liệu hiệu suất cao, có tính khả dụng cao là mọi mục tiêu của SQL Server DBA, nhưng thực tế là hiệu suất cơ sở dữ liệu không phải lúc nào cũng tối ưu. Thời gian phản hồi chậm, hết thời gian chờ và CPU bị hỏng xảy ra với những điều tốt nhất trong chúng ta, điều này làm cho việc định cấu hình chiến lược chẩn đoán SQL Server trở thành một bước quan trọng trong việc duy trì một hệ thống hiệu quả, hoạt động tốt.

Chẩn đoán SQL Server sẽ phát hiện ra các vấn đề về hiệu suất liên quan đến việc sử dụng bộ nhớ, tốc độ và hiệu quả truy vấn cũng như việc sử dụng CPU, giúp bạn xác định và khắc phục sự cố một cách nhanh chóng mà không ảnh hưởng đến hiệu suất. Để giảm thiểu hơn nữa các tác động đến hiệu suất, bạn có thể tạo chiến lược giám sát hiệu suất bao gồm theo dõi dữ liệu chẩn đoán theo thời gian để phát hiện ra các vấn đề khó xác định và dự đoán các vấn đề về hiệu suất trong tương lai trước khi chúng xảy ra.

Để nhận được thông tin có giá trị nhất từ ​​chẩn đoán SQL Server của bạn, điều quan trọng trước tiên là phải xác định những gì bạn hy vọng sẽ học được từ dữ liệu để bạn theo dõi các chỉ số hiệu suất phù hợp nhất. Dưới đây là bốn mẹo để giúp bạn bắt đầu.

Mục tiêu chẩn đoán:Giám sát hiệu suất cơ sở dữ liệu cho môi trường tại chỗ, môi trường ảo và đám mây

Cho dù cơ sở dữ liệu của bạn được đặt tại chỗ, trên đám mây hay trong môi trường kết hợp, việc theo dõi hiệu suất cơ sở dữ liệu trong năm lĩnh vực này sẽ cảnh báo bạn về một số vấn đề hiệu suất phổ biến nhất:

  • Tính khả dụng:Duy trì tính khả dụng cao là một trong những ưu tiên hàng đầu của DBA. Theo dõi dữ liệu nhật ký cụm chuyển đổi dự phòng và trạng thái máy chủ hiện tại là chìa khóa để phát hiện và khắc phục sự cố sớm.
  • Cách sử dụng TempDB:Theo dõi lượng TempDB bạn sử dụng và cách sử dụng. Bạn cũng nên tạo đường cơ sở TempDB và lấy dữ liệu hiệu suất trước và sau khi thay đổi.
  • I / O:Chẩn đoán SQL Server sẽ phát hiện ra các hoạt động I / O bị kẹt có thể gây ra sự cố chặn và các vấn đề hiệu suất khác.
  • Sử dụng CPU:Sử dụng CPU cao có thể do một số nguyên nhân. Sử dụng chẩn đoán SQL Server để cô lập nguyên nhân gốc rễ. Danh sách kiểm tra này có thể chỉ bạn đi đúng hướng.
  • Sử dụng bộ nhớ:Nếu bạn không tối ưu hóa việc sử dụng bộ nhớ, bạn sẽ gặp vấn đề về hiệu suất vào một số thời điểm. Chạy chẩn đoán để xác định quy trình nào đang sử dụng nhiều hơn phần bộ nhớ của chúng và tối ưu hóa hoặc ghi lại chúng nếu cần.

Mục tiêu chẩn đoán:Tìm nguyên nhân của các khối và bế tắc

Các khối và deadlock là những kẻ giết chết hiệu suất chính, do đó, việc chẩn đoán nguyên nhân gây ra các khối và giải quyết vấn đề nhanh chóng là điều cần thiết để duy trì hiệu suất cao. Một số nguồn nguyên nhân phổ biến của các khối và bế tắc có thể được loại bỏ thông qua ba phương pháp sau:

  • Kiểm tra các truy vấn và kế hoạch truy vấn:Các truy vấn dài và kế hoạch truy vấn không hiệu quả góp phần tạo ra các khối và bế tắc. Chẩn đoán có thể xác định các truy vấn có thể được chia nhỏ thành nhiều giao dịch ngắn và kế hoạch truy vấn nào không được tối ưu hóa do thống kê lỗi thời.
  • Phân tích khối lượng công việc:Sự gia tăng khối lượng công việc có thể gây ra các khối khi nhiều quy trình tranh giành cùng một tài nguyên. Chẩn đoán có thể xác định người dùng, cơ sở dữ liệu, máy chủ lưu trữ hoặc câu lệnh SQL Server nào đang gây ra khối hoặc bế tắc để bạn có thể phân phối lại khối lượng công việc nếu cần.
  • Kiểm tra chỉ mục:Việc lập chỉ mục tốt có thể ngăn chặn các khối bằng cách loại bỏ nhu cầu quét toàn bộ bảng. Bằng cách cho phép SQL Server tìm kiếm thay vì quét, lập chỉ mục giữ cho các tài nguyên không bị khóa có thể truy cập được.

Mục tiêu Chẩn đoán:Cảnh báo Sai địa chỉ

Cảnh báo sai không chỉ gây khó chịu; chúng góp phần vào các vấn đề hiệu suất không được phát hiện thông qua báo động mệt mỏi. Cảnh báo mệt mỏi xảy ra khi các cảnh báo sai thường xuyên khiến DBA bỏ qua các cảnh báo, có khả năng bỏ lỡ thông báo rằng một lỗi nghiêm trọng đã xảy ra.

Cách tốt nhất để ngăn cảnh báo sai là chẩn đoán nguồn gốc của cảnh báo sai lặp lại và xóa các cảnh báo không quan trọng hoặc đặt ngưỡng chỉ định hẹp các điều kiện kích hoạt cảnh báo.

Mục tiêu chẩn đoán:Tối ưu hóa các truy vấn SQL

Chạy chẩn đoán SQL Server thường xuyên trên các truy vấn sẽ giúp giảm hoặc loại bỏ một loạt các vấn đề về hiệu suất tiềm ẩn. Hai cách bạn có thể cải thiện các truy vấn dựa trên chẩn đoán của SQL Server là:

  • Điều chỉnh truy vấn:Nếu công cụ giám sát hiệu suất SQL Server của bạn cho thấy rằng một báo cáo đang mất nhiều thời gian để tạo, tức là thời gian chờ I / O đã tăng đột biến gần đây hoặc một số công việc nhất định mất gấp ba lần thời gian để chạy như họ đã làm cách đây một năm, chẩn đoán có thể cho biết việc điều chỉnh truy vấn đang theo thứ tự. Điều chỉnh truy vấn cải thiện hiệu suất bằng cách phân tích các truy vấn và sau đó viết lại chúng nếu cần thiết cho đến khi chúng chạy ở mức hiệu quả tối đa.
  • Cập nhật thống kê:Như đã đề cập ở trên, thống kê lỗi thời góp phần gây ra các vấn đề về hiệu suất bằng cách kích hoạt các kế hoạch truy vấn không hiệu quả. Lên lịch cập nhật tự động nếu có thể. Khi không thể tự động hóa, hãy thêm cập nhật thủ công vào danh sách kiểm tra bảo trì thường xuyên của bạn để đảm bảo số liệu thống kê luôn cập nhật.

Chẩn đoán SQL Server là một công cụ thiết yếu trong hộp công cụ của DBA. Hiểu cách chẩn đoán đóng góp vào việc duy trì môi trường cơ sở dữ liệu SQL Server đáng tin cậy, có tính khả dụng cao sẽ giúp bạn tìm và khắc phục các sự cố về hiệu suất một cách nhanh chóng mà ít ảnh hưởng đến người dùng của bạn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khóa chính tự động tăng dần trong SQL Server Management Studio 2012

  2. Cách Chèn kết quả của một thủ tục đã lưu trữ vào một bảng tạm thời trong SQL Server

  3. Lấy kinh độ và vĩ độ gần nhất từ ​​bảng cơ sở dữ liệu MSSQL?

  4. Giới thiệu các biểu thức bảng phổ biến trong SQL Server

  5. Hiệu suất kế hoạch thực thi thủ tục được lưu trữ kém trong SQL - đánh hơi tham số