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

Chẩn đoán bế tắc trong SQL Server 2005

Theo MSDN:

http://msdn.microsoft.com/en-us/library/ms191242.aspx

Khi tùy chọn cơ sở dữ liệuREAD COMMITTED SNAPSHOT hoặcALLOW SNAPSHOT ISOLATION được BẬT, các bản sao lôgic (phiên bản) được duy trì cho tất cả các sửa đổi dữ liệu được thực hiện trong cơ sở dữ liệu. Mỗi khi một hàng được sửa đổi theo một giao dịch cụ thể, phần hỗ trợ của Công cụ Cơ sở dữ liệu sẽ lưu trữ một phiên bản của hình ảnh đã cam kết trước đó của hàng đó trong tempdb. Mỗi chuyển đổi được đánh dấu bằng số giao dịch của giao dịch viên đã thực hiện thay đổi. Các phiên bản của các hàng đã sửa đổi được xâu chuỗi bằng cách sử dụng danh sách liên kết. Giá trị hàng mới nhất luôn được lưu trữ trong cơ sở dữ liệu hiện tại và được chuyển thành các hàng đã được tạo phiên bản được lưu trữ trong tempdb.

Đối với các giao dịch ngắn hạn, ác cảm của một hàng đã sửa đổi có thể được đưa vào vùng đệm mà không cần ghi vào tệp đĩa của cơ sở dữ liệu tempdb. Nếu nhu cầu đối với hàng đã được tạo phiên bản ngắn hạn, nó sẽ chỉ bị loại bỏ khỏi nhóm bộ đệm và có thể không nhất thiết phải tăng chi phí I / O của chúng tôi.

Có vẻ như sẽ có một hình phạt hiệu suất nhẹ đối với chi phí bổ sung, nhưng nó có thể không đáng kể. Chúng tôi nên kiểm tra để đảm bảo.

Hãy thử đặt tùy chọn này và LOẠI BỎ tất cả các KHOẢNG CÁCH khỏi các truy vấn mã trừ khi nó thực sự cần thiết. NOLOCKs hoặc sử dụng các phương pháp toàn cục trong trình xử lý ngữ cảnh cơ sở dữ liệu để chống lại các mức cô lập giao dịch cơ sở dữ liệu là Giải pháp hỗ trợ cho vấn đề. NOLOCKS sẽ che giấu các vấn đề cơ bản với lớp dữ liệu của chúng tôi và có thể dẫn đến việc chọn dữ liệu không đáng tin cậy, trong đó lập phiên bản hàng tự động chọn / cập nhật dường như là giải pháp.

ALTER Database [StackOverflow.Beta] SET READ_COMMITTED_SNAPSHOT ON


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo Cơ sở dữ liệu SQL Server với SQLOPS

  2. Cách mã hóa một dạng xem trong SQL Server

  3. Cách xuất dữ liệu máy chủ SQL từ bảng sang tệp CSV

  4. Cách đặt thứ hai là ngày đầu tuần trong SQL Server

  5. Cài đặt Ubuntu 18.04 cho SQL Server 2019 trên máy ảo bằng VMware Workstation