Bạn có thể tìm thấy một hướng dẫn khá toàn diện cho câu hỏi này tại đây , nhưng để tóm tắt, SQL Server sẽ không trả lại quyền kiểm soát cho ứng dụng đã thực hiện giao dịch cho đến khi giao dịch đó được làm cứng vào đĩa. Cụ thể, một khi nó đã được làm cứng vào tệp nhật ký giao dịch, kiểm soát có thể được trả lại.
Dữ liệu, tại thời điểm này, có thể không được cứng vào tệp dữ liệu, nó vẫn có thể nằm trong bộ đệm bộ đệm dữ liệu, nhưng vì nó đã được cứng vào nhật ký giao dịch, sau đó phục hồi cơ sở dữ liệu, trong trường hợp có lỗi, có thể khôi phục điều này giao dịch và duy trì các thay đổi một cách an toàn.
Có một bộ đệm bộ đệm nhật ký trong bộ nhớ được sử dụng để giảm tác động hiệu suất của việc ghi tuần tự vào nhật ký giao dịch. Bộ đệm được chuyển sang đĩa theo một số điều kiện, nhưng một trong số đó là một cam kết giao dịch. Cho đến khi dữ liệu này được tăng cường, kiểm soát không được trả lại cho người gọi, vì vậy ngay cả khi bạn gặp lỗi trong bộ đệm này, tính nhất quán giao dịch vẫn được duy trì do giao dịch này chưa được coi là đã cam kết. Bạn sẽ mất các thay đổi dữ liệu trong giao dịch đó, nhưng vì nó không được cam kết, ứng dụng của bạn sẽ xem xét những thay đổi đó bị mất vì cam kết chưa bao giờ được hoàn thành.