Transaction Log là gì?

  • Saturday 03/02/2024

Transaction Log là gì?

Trước khi đến với khái niệm thì chúng ta sẽ lướt qua nguyên nhân dẫn chúng ta đến với Transaction Log. Câu chuyện như sau, khi đang thao tác ngon lành với cơ sở dữ liệu thì ổ cứng của chúng ta bị cháy hay file System bị lỗi và thường gặp hơn đó là khi chúng ta delete/update nhầm. Lúc đó, điều đầu tiên chúng ta cần làm là tìm kiếm bản sao lưu database đã được backup gần đây nhất để revert lại dữ liệu. Nhưng giả sử đã 1 ngày chúng ta chưa backup lại dữ liệu, chúng ta rất muốn lấy lại cái mớ dữ liệu mà bạn đã mất cả ngày để tạo ra. Vậy phải thực hiện thế nào, hãy cùng mình tìm hiểu và tham khảo thông tin về Transaction Log theo thông tin cơ bản bên dưới nhé.

Transaction log trong SQL Server (Nhật ký giao dịch trong sql server) là một phần của cơ sở dữ liệu, được sử dụng để ghi lại mọi hoạt động thay đổi dữ liệu trong cơ sở dữ liệu. Nó ghi lại tất cả các thao tác thay đổi dữ liệu, bao gồm cả các thao tác INSERT, UPDATE và DELETE, cũng như các hoạt động quản trị như tạo bảng, thay đổi cấu trúc cơ sở dữ liệu, và sao lưu.

Transaction log

Một số đặc điểm chính của transaction log

1. Bảo đảm tính nhất quán (ACID)

Transaction log đảm bảo tính nhất quán của dữ liệu trong cơ sở dữ liệu bằng cách đảm bảo rằng mọi thay đổi được thực hiện theo các giao dịch có thể rollback nếu cần.

2. Phục hồi dữ liệu

Transaction log cho phép cơ sở dữ liệu phục hồi lại trạng thái trước đó của dữ liệu trong trường hợp có sự cố như mất điện, lỗi phần cứng, hoặc lỗi phần mềm.

3. Quản lý không gian đĩa

Transaction log cũng giúp quản lý không gian đĩa bằng cách cho phép quản trị viên SQL Server thực hiện sao lưu và thu gọn transaction log, giúp giải phóng không gian đĩa không cần thiết.

Cấu trúc của Transaction log

Transaction log

Transaction log được cấu tạo bởi các bản ghi (record), mỗi bản ghi đại diện cho một thay đổi được thực hiện trong cơ sở dữ liệu. Mỗi bản ghi bao gồm các thông tin sau:

  • Loại hoạt động (Operation type): INSERT, UPDATE, DELETE, DDL, v.v.
  • Dữ liệu được thay đổi (Data modified): Dữ liệu trước và sau khi thay đổi.
  • Thời gian thực hiện (Time of operation): Thời điểm thực hiện thay đổi.
  • Thông tin bổ sung (Additional information): Thông tin chi tiết về hoạt động, chẳng hạn như ID người dùng, ID bảng,…

Quản lý Transaction log

SQL Server tự động quản lý việc ghi chép và xóa các bản ghi trong transaction log. Tuy nhiên, bạn có thể cấu hình một số tùy chọn liên quan đến transaction log, chẳng hạn như:

  • Kích thước của transaction log (Transaction log size): Kích thước tối đa của tệp transaction log.
  • Chế độ phục hồi (Recovery model): Chế độ phục hồi xác định mức độ chi tiết của thông tin được ghi vào transaction log.
  • Sao lưu transaction log (Transaction log backups): Lịch trình sao lưu transaction log.

Lợi ích của việc sử dụng Transaction log

  • Phục hồi nhanh chóng (Fast recovery): Transaction log cho phép phục hồi cơ sở dữ liệu nhanh chóng hơn so với việc khôi phục từ bản sao lưu đầy đủ.
  • Tính nhất quán cao (High consistency): Transaction log giúp đảm bảo tính nhất quán của cơ sở dữ liệu, giảm thiểu nguy cơ mất dữ liệu.
  • Khả năng truy cập cao (High availability): Transaction log giúp tăng khả năng truy cập của cơ sở dữ liệu bằng cách cho phép phục hồi nhanh chóng sau khi xảy ra lỗi.

Transaction log

Tóm lại, Transaction log được ghi lại tuần tự và thường được quản lý bởi SQL Server một cách tự động. Trong một số trường hợp, như trong quản lý sao lưu và phục hồi dữ liệu, quản trị viên cần can thiệp vào quá trình quản lý transaction log. Vì vậy, transaction log là một phần quan trọng của SQL Server, đóng vai trò quan trọng trong việc bảo vệ dữ liệu và đảm bảo tính nhất quán của cơ sở dữ liệu.

Hi vọng qua bài viết này sẽ giúp cho mọi người có thêm một ít kiến thức về transaction log để có sự lựa chọn chov việc học tập và lựa chọn tốt cho dự án.


P.A Việt Nam cung cấp đa dạng các Plan Hosting đáp ứng yêu cầu của khách hàng
Hosting Phổ Thông
Hosting Chất Lượng Cao

Hosting WordPress

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/

5/5 - (1 bình chọn)