CẤU TRÚC CƠ SỞ DỮ LIỆU CỦA
SQL SERVER 7.0
I.CẤU TRÚC CSDL CỦA SQL SERVER 7.0 :
SQL Server tổ chức dữ liệu lưu trong CSDL thành những thành phần luận lý. User làm
việc trên những thành phần luận lý này như bảng (table), view, procedure… Thành phần vật lý
của những file thì trong suốt (transparent), chỉ có người quản lý CSDL mới được làm việc trên
đó.
SQL Server có 4 CSDL hệ thống (master, msdb, model, temdb database) và các CSDL
của user. Hình minh họa
• Master database: ghi lại cấu hình hệ thống của SQL Server. Nó ghi lại tất cả tài khoản
đăng ký của user và cấu hình hệ thống, những file primary chứa thông tin khởi động của
CSDL của user, chứa thông tin khởi động của SQL Server. Những thao tác sau gây ra
những thay đổi trong master database:
• Tạo , thay đổi, xóa CSDL.
• Thay đổi transaction log.
• Thêm hay xóa của những sever sử dụng thủ tục hệ thống như sp-addserver (thêm
server) and sp-dropserver (bỏ server).
• Temdb database: chứa những bảng tạm và những stored procedure tạm. Những bảng
tạm và những stored procedure của user khi nối kết vào hệ thống được lưu trong temdb
database. Khi SQL khởi động thì tất cả các bảng tạm và các stored procedure trong
temdb database đều mất.
Stored procedure: là 1 tập hợp biên dòch trước của những câu lệnh của Transact-
SQL được lưu và xử lý như 1 đơn vò (unit). Stored procedure sẵn sàng cho việc quản lý
SQL Server và hiển thò thông tin của CSDL, của những người sử dụng. SQL Server cung
cấp những stored procedure gọi là stored procedure hệ thống.
• Model database: được dùng như 1 khuôn mẫu của CSDL trong hệ thống. Khi tạo ra 1
CSDL thì phần đầu của CSDL là bản sao của model database, phần còn lại là những
trang trống.
• Msdb database: SQL Server Agent dùng msdb database để lập kế hoạch alert, job.
Alert: là 1 đònh nghóa của người sử dụng đáp ứng 1 sự kiện của SQL Server. Alert có
Những trang trong file được đánh số bắt đầu từ 0. Mỗi file có 1 số ID. Mỗi trang trong
file gồm cả ID file và số thứ tự trang trong file.
Ví dụ: file primary có kích thước 4MB, và secondary có kích thứơc 1 MB.
Trang đầu tiên trong mỗi file là trang header file chứa thông tin về thuộc tính của file.
Trang thứ 9 trong primary file là trang khởi động CSDL chứa thông tin về thuộc tính của CSDL.
PHAN VI:
SAO LệU VAỉ KHOI PHUẽC
CHƯƠNG 1:
GIỚI THIỆU VỀ
SAO CHÉP DỰ PHÒNG (BACKUP) VÀ KHÔI
PHỤC (RECOVERY)
CƠ SỞ DỮ LIỆU (CSDL)
Những nguyên nhân gây ra mất dữ liệu:
• Đóa cứng hư
• Vô ý hay cố ý sửa đổi dữ liệu như xóa hay thay đổi dữ liệu.
• Trộm cắp
• Virus
Để tránh việc mất dữ liệu, chúng ta nên thường xuyên sao lưu cơ sở dữ liệu. Nếu như dữ
liệu hay cơ sở dữ liệu bò hư thì ta có thể dùng bản sao lưu (backup) này để khôi phục lại cơ sở
dữ liệu bò mất.
I. SAO LƯU CSDL:
Sao lưu (backup) 1 cơ sở dữ liệu (CSDL) là tạo 1 bản sao CSDL , ta có thể dùng bản sao để
khôi phục lại CSDL nếu CSDL bò mất. Bản sao gồm tất cả những file có trong CSDL kể cả
transaction log.
Transaction log ( hay log file) chứa những dữ liệu thay đổi trong CSDL (Ví dụ như khi
ta thực hiện các lệnh INSERT, UPDATE, DELETE). Transaction log được sử dụng trong suốt
quá trình khôi phục để roll forward những transaction hoàn thành và roll back những
transaction chưa hoàn thành.
đọc trước transaction log, roll forward tất cả các transaction . Khi đến cuối bản sao lưu
transaction log, SQL Server roll back tất cả transaction mà không hoàn thành khi ta bắt đầu
thực hiện sao lưu, tạo lại trạng thái chính xác của CSDL tại thời điểm bắt đầu thực hiện sao
lưu.
Ví dụ minh họa sao lưu (backup) và khôi phục (restore) 1 CSDL có xảy ra giao dòch
(transaction) khi thực hiện sao lưu:
1. Bắt đầu backup :giả sử CSDL gồm có các dữ liệu ABC, DEF, GHI, JKL, transaction log file
không có dữ liệu vì không có giao dòch nào xảy ra. Khi đang thực hiện sao lưu (backup)
được một phần dữ liệu thì xảy ra giao dòch, SQL Server 7.0 sẽ ưu tiên cho việc giao dòch
trước, việc sao lưu (backup) tạm thời dừng lại.
database database backup
transaction log
2. Xảy ra giao dòch (transaction), dữ liệu ABC được thay bằng 123, GHI được thay bằng 456.
database database backup
transaction log
ABC
DEF
GHI
JKL
ABC
DEF
GHI
ABC
DEF
456
JKL
123
DEF
456
JKL
ABC=123
GHI=456
ABC
DEF
456
JKL
123
DEF
456
JKL
ABC=123
GHI=456
ABC=123
GHI=456
ABC
DEF
456
JKL
ABC
DEF
456