Nguyên tắc hoạt ðộng của transaction log trong SQL server

3 560 0
Nguyên tắc hoạt ðộng của transaction log trong SQL server

Đang tải... (xem toàn văn)

Thông tin tài liệu

Nguyên Tắc Hoạt Ðộng Của Transaction Log Trong SQL Server Nguyên Tắc Hoạt Ðộng Của Transaction Log Trong SQL Server Bởi: Khoa CNTT ĐHSP KT Hưng Yên Transaction log file SQL Server dùng để ghi lại thay đổi xảy database Quá trình diễn sau: có thay đổi data Insert, Update, Delete yêu cầu từ ứng dụng, SQL Server tải (load) data page tương ứng lên memory (vùng nhớ gọi data cache), sau data data cache thay đổi(những trang bị thay đổi gọi dirty-page) Tiếp theo thay đổi ghi vào transaction log file người ta gọi write-ahead log Cuối trình gọi Check Point Process kiểm tra viết tất transaction commited (hoàn tất) vào dĩa cứng (flushing the page) 1/3 Nguyên Tắc Hoạt Ðộng Của Transaction Log Trong SQL Server Ngoài Check Point Process dirty-page đưa vào dĩa Lazy writer Ðây anh chàng làm việc âm thầm thức giấc quét qua phần data cache theo chu kỳ định sau lại ngủ yên chờ lần quét tới Xin giải thích thêm chút khái niệm transaction database Một transaction hay giao dịch loạt hoạt động xảy xem công việc đơn (unit of work) nghĩa thành công toàn không làm (all or nothing) Sau ví dụ cổ điển transaction: Chúng ta muốn chuyển số tiền $500 từ account A sang account B công việc cần làm bước sau: Trừ $500 từ account A Cộng $500 vào account B Tuy nhiên việc chuyển tiền phải thực dạng transaction nghĩa giao dịch xem hoàn tất (commited) hai bước thực thành công Nếu lý ta thực bước (chẳng hạn vừa xong bước điện cúp hay máy bị treo) xem giao dịch không hoàn tất cần phải phục hồi lại trạng thái ban đầu (roll back) Thế Check Point Process hoạt động để đảm bảo transaction thực thi mà không làm "dơ" database 2/3 Nguyên Tắc Hoạt Ðộng Của Transaction Log Trong SQL Server Trong hình vẽ trên, transaction biểu diễn mũi tên Trục nằm ngang trục thời gian Giả sử Check Point đánh dấu vào thời điểm transaction hình vẽ sau cố xãy trước gặp Check point Như SQL Server restart dựa ghi transaction log file để phục hồi data (xem hình vẽ) Ðiều có nghĩa SQL Server không cần làm transaction thời điểm Check point data lưu vào dĩa Trong transaction roll forward commited cố xảy trước thời điểm check point nên data chưa kịp lưu vào dĩa Tức dựa thông tin ghi log file SQL Server hoàn toàn có đầy đủ sở để viết vào dĩa cứng Còn transaction chưa commited (do bị down bất ngờ) SQL Server roll back hai transaction dựa ghi log file 3/3 ... Check Point Process hoạt động để đảm bảo transaction thực thi mà không làm "dơ" database 2/3 Nguyên Tắc Hoạt Ðộng Của Transaction Log Trong SQL Server Trong hình vẽ trên, transaction biểu diễn.. .Nguyên Tắc Hoạt Ðộng Của Transaction Log Trong SQL Server Ngoài Check Point Process dirty-page đưa vào dĩa Lazy writer Ðây... thời điểm transaction hình vẽ sau cố xãy trước gặp Check point Như SQL Server restart dựa ghi transaction log file để phục hồi data (xem hình vẽ) Ðiều có nghĩa SQL Server không cần làm transaction

Ngày đăng: 31/12/2015, 11:12

Từ khóa liên quan

Mục lục

  • Nguyên Tắc Hoạt Ðộng Của Transaction Log Trong SQL Server

Tài liệu cùng người dùng

Tài liệu liên quan