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

Giới thiệu tính năng mới - Phân tích bế tắc

Đầu tiên và quan trọng nhất, Deadlock là gì? Deadlock xảy ra khi hai hoặc nhiều giao dịch chặn tiến trình của nhau vì một giao dịch có khóa đối tượng cơ sở dữ liệu mà các giao dịch khác cần quyền truy cập. Điều này tạo ra một điểm dừng cố định đối với bất kỳ loại tiến trình nào vì mỗi quá trình có thể đợi một khoảng thời gian vô hạn cho đối tượng bị khóa. SQL Server bước vào để phá vỡ thế bế tắc bằng cách loại bỏ một hoặc nhiều quy trình bị chặn. Các tiến trình không may mắn bị giết phải bắt đầu lại từ đầu.

Hầu hết các DBA đều gặp khó khăn khi cố gắng tìm ra một điểm bế tắc (hoặc cố gắng tìm hiểu xem liệu một điểm bế tắc có phải là điều đã xảy ra ngay từ đầu hay không) bởi vì nó quá tốn thời gian. Thông thường, vào thời điểm có một điểm bế tắc, một vài điểm khác có thể đã xảy ra, làm cho vấn đề trở nên phức tạp hơn. Ngay cả khi bạn phát hiện ra sự cố đã xảy ra, bạn gần như không thể khắc phục nó nếu không biết cái gì đã bị chặn, bản chất của loại khóa mà mỗi quy trình yêu cầu và những phiên nào có liên quan.

Các tính năng như phân tích bế tắc thường chỉ được thấy trong các công cụ giám sát "cấp doanh nghiệp" đắt tiền. Nhưng các nhà phát triển của chúng tôi tại Spotlight Cloud hiểu rằng đôi khi DBA không giám sát hàng trăm Máy chủ SQL - đôi khi, nó chỉ là 1 hoặc 2. Đó là lý do tại sao chúng tôi rất vui mừng thông báo rằng phân tích bế tắc hiện đã được đưa vào như một tính năng tiêu chuẩn trong công cụ giám sát được lưu trữ của chúng tôi, Spotlight Cloud Professional. Đây là cách nó hoạt động.

Với Phân tích bế tắc máy chủ Spotlight Cloud SQL, bạn sẽ có thể truy cập vào tất cả dữ liệu hiệu suất cần thiết để xác định và giải quyết các bế tắc cũng như cải thiện hiệu suất cơ sở dữ liệu của bạn.

Bảng điều khiển Phân tích bế tắc trong Spotlight Cloud hiển thị một cái nhìn đầy đủ về các bế tắc trong môi trường Máy chủ SQL của bạn. Tại đây, bạn có thể xem tất cả các quy trình và tài nguyên bị ảnh hưởng bởi deadlock trong một màn hình, xem tóm tắt về số lượng deadlock đã xảy ra trong một khung thời gian cụ thể, thời gian mà mỗi process bị mất do deadlock, SQL liên quan và quy trình nào đã trở thành nạn nhân của giải pháp bế tắc SQL Server.

Trong tổng quan về Báo thức, bạn có thể xem tất cả các cảnh báo liên quan đến bế tắc. Nếu bạn nhấp vào cảnh báo, bạn sẽ thấy tóm tắt về số lần bế tắc đã xảy ra, số phiên bị hy sinh khi là nạn nhân và tổng thời gian bị mất do giải quyết bế tắc. Ngoài tất cả thông tin được liệt kê ở trên, bạn sẽ thấy các phiên, cơ sở dữ liệu và đối tượng bị ảnh hưởng nhiều nhất.

Tóm tắt

Phân tích bế tắc đám mây Spotlight cho phép bạn xem các phiên và chương trình đang chạy trong thời gian xảy ra sự cố bế tắc. Trong trang tổng quan, bạn sẽ thấy văn bản SQL chính xác được thực thi bởi chương trình cụ thể đó. Khi bạn đi sâu vào SQL đó, bạn có thể xác định lý do tại sao nó bị bế tắc và điều gì khác đang cố gắng lấy nó tại thời điểm đó. Bạn cũng có thể lọc theo loại khóa - hàng, khóa, trang, SPID, v.v. Với loại khóa, đối tượng có liên quan, văn bản câu lệnh có liên quan và các phiên, bạn sẽ có thể ghép bế tắc và bắt đầu giải quyết.

Với Phân tích bế tắc của Spotlight Cloud, bạn có thể…

  • Xem / chỉnh sửa tiến trình bế tắc và yêu cầu thông lượng mỗi giây của bạn trong một bảng dễ đọc.
  • Lọc dựa trên cơ sở dữ liệu, chương trình, người dùng và đối tượng để bạn có thể xác định nguyên nhân gốc rễ của các quy trình bị giết. Ví dụ, nếu một đối tượng cụ thể, có lẽ là một bảng trong cơ sở dữ liệu, không thể truy cập được do bế tắc.
  • Xác định tất cả các phiên, chương trình liên quan và tất cả các nạn nhân liên quan đến một bế tắc cụ thể.
  • Xem danh sách các đối tượng theo yêu cầu của mỗi phiên và loại khóa được yêu cầu
  • Xem văn bản SQL chính xác được thực thi bởi một chương trình cụ thể.

Vì vậy, thay vì dành hàng giờ để tìm cách giải quyết bế tắc, hãy thử Bản dùng thử 30 ngày của Spotlight Cloud Professional để tối đa hóa thời gian và tài nguyên 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. Cách chuyển đổi chuỗi thành ngày / giờ trong SQL Server bằng CONVERT ()

  2. Các truy vấn ANSI JOIN và không phải ANSI JOIN có thực hiện khác nhau không?

  3. SELECT max (x) trả về null; làm thế nào tôi có thể làm cho nó trả về 0?

  4. Cách chèn giá trị vào cột IDENTITY trong SQL Server

  5. WHERE IN (mảng ID)