Danh mục

Thiết kế và Thực hiện một cơ sở dữ liệu SQL Server- P2

Số trang: 5      Loại file: pdf      Dung lượng: 256.08 KB      Lượt xem: 14      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: miễn phí Tải xuống file đầy đủ (5 trang) 0

Báo xấu

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu thiết kế và thực hiện một cơ sở dữ liệu sql server- p2, công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Thiết kế và Thực hiện một cơ sở dữ liệu SQL Server- P2một table sau đó khi data tăng trưởng thì SQL dànhhẳn một Uniform Extent cho table đó.Nguyên Tắc Hoạt Ðộng Của Transaction LogTrong SQL ServerTransaction log file trong SQL Server dùng để ghi lạicác thay đổi xảy ra trong database. Quá trình nàydiễn ra như sau: đầu tiên khi có một sự thay đổi datanhư Insert, Update, Delete được yêu cầu từ các ứngdụng, SQL Server sẽ tải (load) data page tương ứnglên memory (vùng bộ nhớ này gọi là data cache), sauđó data trong data cache được thay đổi(những trangbị thay đổi còn gọi là dirty-page). Tiếp theo mọi sựthay đổi đều được ghi vào transaction log file cho nênngười ta gọi là write-ahead log. Cuối cùng thì một quátrình gọi là Check Point Process sẽ kiểm tra và viếttất cả những transaction đã được commited (hoàntất) vào dĩa cứng (flushing the page).Ngoài Check Point Process những dirty-page cònđược đưa vào dĩa bởi một Lazy writer. Ðây là mộtanh chàng làm việc âm thầm chỉ thức giấc và quétqua phần data cache theo một chu kỳ nhất định sauđó lại ngủ yên chờ lần quét tới.Xin giải thích thêm một chút về khái niệm transactiontrong database. Một transaction hay một giao dịch làmột loạt các hoạt động xảy ra được xem như mộtcông việc đơn (unit of work) nghĩa là hoặc thành côngtoàn bộ hoặc không làm gì cả (all or nothing). Sauđây là một ví dụ cổ điển về transaction:Chúng ta muốn chuyển một số tiền $500 từ account Asangaccount B như vậy công việc này cần làm các bướcsau:Tuy nhiên việc chuyển tiền trên phải được thực hiệndưới dạng một transaction nghĩa là giao dịch chỉđượcxem là hoàn tất (commited) khi cả hai bước trên đềuthực hiện thành công. Nếu vì một lý do nào đó ta chỉcó thể thực hiện được bước 1 (chẳng hạn như vừaxong bước 1 thì điện cúp hay máy bị treo) thì xemnhư giaodịch không hoàn tất và cần phải được phục hồi lạitrạng thái ban đầu (roll back).Thế thì Check Point Process hoạt động như thế nàođể có thể đảm bảo một transaction được thực thi màkhông làm dơ database.Trong hình vẽ trên, một transaction được biểu diễnbằng một mũi tên. Trục nằm ngang là trục thời gian.Giả sử một Check Point được đánh dấu vào thờiđiểm giữa transaction 2 và 3 như hình vẽ và sau đósự cố xãy ra trước khi gặp một Check point kế tiếp.Như vậy khi SQL Server được restart nó sẽ dựa trênnhững gì ghi trong transaction log file để phục hồidata (xem hình vẽ).Ðiều đó có nghĩa là SQL Server sẽ không cần làm gìcả đối với transaction 1 vì tại thời điểm Check pointdata đã được lưu vào dĩa rồi. Trong khi đó transaction2 và 4 sẽ được roll forward vì tuy đã được commitednhưng do sự cố xảy ra trước thời điểm check point kếtiếp nên data chưa kịp lưu vào dĩa. Tức là dựa trênnhững thông tin được ghi trên log file SQL Serverhoàn toàn có đầy đủ cơ sở để viết vào dĩa cứng. Còntransaction 3 và 5 thì chưa được commited (do bịdown bất ngờ) cho nên SQL Server sẽ roll back haitransaction này dựa trên những gì được ghi trên logfile.Cấu Trúc Logic Của Một SQL Server DatabaseHầu như mọi thứ trong SQL Server được tổ chứcthành những objects ví dụ như tables, views, storedprocedures, indexes, constraints.... Những systemobjects trong SQL Server thường có bắt đầu bằngchữ sys hay sp. Các objects trên sẽ được nghiên cứulần lượt trong các bài sau do đó trong phần này

Tài liệu được xem nhiều: