Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu

1.1. Hoạt động quản trị CSDL

• Khái niệm CSDL:

– Là một tập hợp dữ liệu có cấu trúc được lưu

trên các thiết bị lưu trữ như băng từ, đĩa từ

nhằm thỏa mãn nhu cầu khai thác đồng thời

của nhiều người sử dụng, nhiều chương

trình ứng dụng tại cùng thời điểm

– CSDL là một bộ sưu tập các dữ liệu tác

nghiệp được lưu trữ lại và được các hệ ứng

dụng của một đơn vị, tổ chức nào đó sử

dụng

Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu trang 1

Trang 1

Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu trang 2

Trang 2

Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu trang 3

Trang 3

Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu trang 4

Trang 4

Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu trang 5

Trang 5

Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu trang 6

Trang 6

Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu trang 7

Trang 7

Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu trang 8

Trang 8

Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu trang 9

Trang 9

Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 43 trang xuanhieu 6260
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu

Bài giảng Quản trị cơ sở dữ liệu - Bài 1: Tổng quan về quản trị cơ sở dữ liệu
rữ hệ 
thống sp_start_job
• Job có thể thực thi trên PC hoặc WorkStation hoặc 
Remote Control
Job properties
Job Activity Monitor Schedule
Manager Schedule Alert (Thông báo khi thực thi)
4/12/2019
28
Operator
• Định nghĩa các 
kiểu thông báo khi 
Agent thực hiện 
xong một Task
• Thông báo có thể 
gửi qua
Error Logs
Ví dụ tự động hóa quản trị
• Tạo Job tự động Backup CSDL Sinh viên
– B1: Tạo Job
– B2 Tạo lịch
B3 Chọn cảnh báo– 
– B4 Xem thông báo lỗi
B1: Tạo Job
• Name: Đặt tên cho 
Job để tiện theo dõi
• Có thể mô ta thêm ở 
Description
Định nghĩa Job
• Đặt tên các bước
• Gõ câu lệnh thực thi 
hoặc chọn lệnh có 
sẵn trong Run as
B2: Tạo lịch
• Chọn New: Nếu đặt 
lịch mới
• Chọn Pick nếu muốn 
đặt lịch giống 1 lịch 
đã có
4/12/2019
29
Đặt lịch
-Name: Đặt tên lịch 
trình
- Schedule type: 
kiểu lịch trình
Frequency: Tần- 
suất thực hiện
-Duration: Thời 
gian thực hiện
B3: Khai báo Alert
Tên Thông báo
Kiểu thông báo
CSDL sẽ được 
thông báo
Nội dung dòng 
thông báo
B4: Khai báo Operator Thực thi Job
Thực thi Job
Kích chuột phải chọn 
Start Jobs
Xem thực thi và đợi 
ả h bác n o
Kết thúc
• Tìm hiểu về SQL Server Agent
• Thực hiện ví dụ
• Kiểm tra và đọc các lỗi
BÀI 08
ĐỒNG BỘ HÓA CSDL 
4/12/2019
30
Nội dung bài 08
• Cơ chế và các kiểu đồng bộ hóa
• Các bước đồng bộ hóa dữ liệu
• Mô hình đồng bộ hóa dữ liệu
• Cài đặt quy trình đồng bộ hóa dữ liệu
8.1 Cơ chế và cá kiểu đồng bộ
• Đồng bộ dữ liệu
– Đồng bộ (Replication) là kỹ thuật dùng để sao 
chép và phân phối dữ liệu và các đối tượng 
từ một CSDL này đến một CSDL khác và cho 
phép cập nhật các thay đổi trên CSDL đảm 
bảo tính nhất quán của CSDL
Cơ chế Các kiểu đồng bộ hóa
• Có 3 kiểu chính:
– Snapshot replication
– Transactional replication
– Merge replication
Snapshot Replication
Cơ chế:
- Các đối tượng CSDL 
chuyển từ Publisher đến 
Subscriber sẽ được ghi 
đè lên nếu chúng đang 
tồn tại trong CSDL của 
Subcriber
- Phù hợp nhất với 
CSDL tĩnh, ít biến động
- Yêu cầu ràng buộc kết 
nối giữa hai CSDL khi 
thực hiện
Transactional Replication
Cơ chế:
-Tạo bản sao cho mỗi task 
đã được định nghĩa trong 
đối tượng CSDL của 
Publisher
- Phù hợp với CSDL nhiều 
biến động do đồng bộ dữ 
liệu nhanh, cập nhật được 
gần với thời thực
- Yêu cầu ràng buộc kết 
nối giữa hai CSDL khi thực 
hiện
4/12/2019
31
Merge Replication
Cơ chế:
-Được dùng khi không 
có bất kỳ ràng buộc kết 
nối giữa Publisher và 
Subscriber
- Tổng hợp dữ liệu thay 
đổi giữa Publisher và 
Subscriber trong lần kết 
nối tiếp theo
- Có khả năng tự động 
xử lý tranh chấp dữ liệu 
khi tổng hợp 
8.2 Thành phần đồng bộ hóa
• Có 3 thành phần cân xem xét:
– Đối tượng đồng bộ dữ liệu
– Dữ liệu đồng bộ hóa
Các dịch vụ– 
Nhóm đối tượng đồng bộ
• Publisher:
– Máy chủ CSDL tập trung tài nguyên để truyền gửi/ 
phát hành
• Subscriber:
– Máy chủ CSDL nơi nhận dữ liệu
– Có thể xem là Publisher khi chuyển dữ liệu đến 
Subscriber khác
• Distributor:
– Cầu nối trung gian giữa Pubslisher và Subscriber
– Có thể xem là CSDL đặt trên máy chủ Pubslisher 
hoặc Subscriber
Dữ liệu đồng bộ hóa
• Article:
– Tập dữ liệu được cấu hình để đồng bộ hóa
– Các đối tượng CSDL như Table, View, Sp, Data và 
các ràng buộc trong Table
• Publication:
– Gồm nhiều Article được xuất bản cho Subscriber
– Cho phép tạo bản sao cho nhóm gồm nhiều Article
• Subscription
– Được xem như đơn đặt hàng để nhận Article từ nhiều 
Publication, bao gồm cả các ràng buộc khác khi thực 
hiện phân phối Article
Các đối tượng khác
• SQL Server Agent:
– Đóng vai trò chính trong kiểm soát, vận hành tiến trình đồng bộ 
hóa và thực thi theo thời gian thực hoặc lịch đã lập sẵn
• Snapshot Agent
– Nhận và thực thi snapshot cho Snapshot replication, 
Transactional replication, Merge replication
• Log Reader Agent
– Đọc bản ghi Task trong Publisher và ghi lại các bản ghi này cho 
mỗi Article được xuất bản cho Distributor
• Distributor Agent
– Đọc task đã ghi vào CSDL Distributor và áp dụng cho Subscriber
• Merge Agent
– Quản lý hoạt động của Merge replication
Hoạt động cơ bản
Cơ chế:
- 1 Reader
- 2 Writer
- 3 Reader 
- 4 Writer
4/12/2019
32
8.3 Các mô hình đồng bộ hóa
• Một Publisher và một Subscriber
• Một Publisher và nhiều Subscriber
• Nhiều Publisher và một Subscriber
• Nhiều Publisher và nhiều Subscriber
Một Publisher và một Subscriber
Một Publisher và nhiều Subscriber Nhiều Publisher và một Subscriber
Nhiều Publisher và nhiều Subscriber Các kiểu di chuyển dữ liệu
• Push Subscriber
– Publisher đẩy (push) những cập nhật đến Subscriber mà không 
quan tâm Subscriber có cập nhật hay không
– Dùng khi ứng dụng yêu cầu gửi các cập nhật đến cho 
Subscriber ngay khi có thay đổi ở Publisher
– Bảo mật cao, các Subscriber thấp
• Pull Subscriber
– Subscriber kéo những cập nhật tại Publisher về theo một 
khoảng thời gian định kỳ
– Phù hợp cho các Subscriber có độc lập cập nhật
– Khả năng bảo mật thấp
– Cho phép số lượng Subscriber cao
4/12/2019
33
8.4 Cài đặt đồng bộ hóa
• Các bước
– Tạo 1 CSDL không chứa bảng
– Tạo một truy vấn đến dữ liệu
Tạo Publication– 
– Cài đặt thông số cho Publication
– Tạo Subscriber
– Cài đặt thông số cho Subscriber
– Kiểm tra
Các bước thực hiện
Publisher
SinhVien
Subscriber
QuanLyDongBoDuLieu
Tạo Publication
• Ví dụ tạo Snapshot 
Replication
– Chọn Replication
– Chọn Local Publication
– Chọn New Publication
Cài đặt thông số
Cài đặt thông số Cài đặt thông số
4/12/2019
34
Chọn chế độ tức thời hay theo lịch Thực thi và xem kết quả
Sau khi tạo xong thông số 
Publication
Tạo Subscriber
Chọn các thông số
Chọn và cái đặt thông số Cài đặt độ bảo mật
4/12/2019
35
Chọn chế độ đồng bộ Thực hiện
Thông số sau cài đặt Kết thúc
• Tìm hiểu về SQL Server Agent
• Thực hiện ví dụ tạo Publication và 
Subscriber
Kiể t à đ á lỗi• m ra v ọc c c 
BÀI 10
TOÀN VẸN DỮ LIỆU 
Nội dung bài 10
• Giao dịch và tính chất của giao dịch
• Sự bắt đầu và sự kết thúc một giao dịch
• Mức độ tách biệt/khác nhau của giao dịch
• Khóa
4/12/2019
36
10.1 Giao dịch và tính chất của giao dịch
• Transaction là một đơn vị tác vụ bao gồm một tập có thứ 
tự các tác vụ con
– Các tác vụ con được sắp xếp theo một trình tự xác định
– Các tác vụ con hoàn thành thì Transaction hoàn thành
– Nếu Transaction hoàn thành thì các dữ liệu biến động được cập 
nhật lên CSDL
– Nếu Transaction không hoàn thành có thể Roll Back hoặc 
Cancel => dữ liệu không được cập nhật lên CSDL
– Một Transaction có 4 tính chất: Atomicty, Consistency, Isolation 
and Durability (ACID)
Ví dụ về Transaction
Tính chất của Transaction
• Atomicity – Nguyên tố
– Mỗi Transaction là một đơn vị nhỏ nhất, các dữ liệu có thể được 
thao tác hoặc không
• Consistency – Nhất quán
– Transaction sẽ không thực hiện nếu có một thao tác có lỗi về 
mặt logic hoặc ràng buộc
• Isolation –Tách biệt/ Độc lập
– Tại mỗi thời điểm các Transaction được thực hiện đồng thời và 
chúng chỉ tác động với nhau khi dữ liệu được cập nhật hay kết 
thúc phiên
• Durability – Bền vững
– Đảm bảo sau khi Transaction thành công các thay đổi đã được 
tạo ra trên CSDL vẫn được duy trì
ACID trong SQL Server
Kết thúc Transaction
• Kết thúc giao dịch có 2 kiểu
– Xác nhận giao dịch kết thúc
• Commit [Transaction] [Transaction_name| 
@Transaction_name_variable]
– Hủy bỏ và quay lại giao dịch
• Rollback [Transaction] [Transaction_name| 
@Transaction_name| Savepoint_name| 
@Savepoint_name]
10.2 Bắt đầu và kết thúc một 
Transaction
• Có 3 loại Transaction
– Explicit Transaction: Phiên giao dịch rõ (tường minh)
• BEGIN [Transaction] [Transaction_name| 
@Transaction_name_variable]
Implicit Transaction : Phiên giao dịch ẩn (không– 
tường minh)
• SET Implicit_Transaction {On|Off}
– Autocommit Transaction: Mỗi câu lệnh tự cập nhật dữ 
liệu khi nó kết thúc, không cần câu lệnh điều khiển 
phiên giao dịch
4/12/2019
37
Vòng đời của một Transaction Ví dụ Explicit Transaction
Ví dụ Implicit Transaction Ví dụ Autocommit Transaction
10.3 Mức độ tách biệt của Transaction
• SQL Server xác định 5 mức độ tách biệt 
của các Transaction
– Read UnCommitted
Read Committed– 
– RepeatTable Read
– Serializable
– Snapshot
Read UnCommitted
• Là mức độ thấp nhất, cho phép Transaction đọc dữ liệu 
được viết bửoi Transaction khác chưa được xác nhận 
thay đổi. Nói cách khác có thể đọc dữ liệu gốc khi đang 
có Transaction sửa đổi dữ liệu. 
• Thiết lập: 
– Set Transaction Isolation Level Read UnCommitted
• Nhược điểm
– Có thể đọc dữ liệu không đúng từ một UnCommitted khác chưa 
RollBack (Dirty Reads)
– Đọc dữ liệu “ma” từ kết quả Insert hoặc Delete của một 
Transaction khác (Phantom Reads)
– Đọc dữ liệu không lặp lại từ kết quả cập nhật dữ liệu của một 
Transaction khác (NonRepeable Reads)
4/12/2019
38
Các lỗi hay gặp
• Đọc dữ liệu sai (Dirty reads)
– Xảy ra khi giao dịch đọc một bản ghi mà một phần giao dịch khác chưa hoàn
thành. Nếu giao dịch trước đó chưa hoàn thành hay đang thực hiện chế độ 
Rollback chúng ta sẽ phải đọc dữ liệu cũ, dữ liệu sai.
• Đọc bản ghi hai lần (Unrepeatable reads)
Khi đọc mẩu tin hai lần trong một giao dịch trong khi giao dịch khác chỉ thông– 
báo về tình trạng dữ liệu trong một khoảng thời gian quy định
• Phantoms (đọc các bản ghi không có)
– Nghĩa là chúng ta đọc được những bản ghi không có. Vì những bản ghi đó xuất 
hiện không bị tác động bởi các lệnh UPDATE hoặc DELETE.
• Lost Update (cập nhật mất DL)
– Xảy ra khi một giao dịch cập nhật dữ liệu vào cơ sở dữ liệu thành công, nhưng 
lại ghi đè lên dữ liệu của giao dịch khác.
– Xảy ra khi hai giao dịch đang đọc bản ghi dữ liệu, sau đó giao dịch 1 ghi dữ liệu 
của bản ghi, giao dịch 2 cũng ghi kết quả chỉ có giao dịch 2 được cập nhật
Read Committed
• Là mức độ được thiết lập mặc định trong SQL 
Server, cho phép Transaction có thể đọc dữ liệu 
gốc khi Transaction xác nhận thay đổi
• Thiết lập
– Set Transaction Isolation Level Read Committed
• Nhược điểm
– Gặp lỗi Phantom Reads và NonRepeable
Repeatable Read
• Loại bỏ được NonRepeable Reads bằng việc 
ngăn một Transaction không được thay đổi dữ 
liệu gốc khi có một Transaction khác đang đọc 
dữ liệu gốc cho đến khi Transaction này commit 
hoặc Rollback
• Thiết lập
– Set Transaction Isolation Level RepeaTable Read
Serializable
• Loại bỏ được Phantom Reads bằng việc ngăn 
một Transaction không được chèn hoặc xóa bản 
ghi dữ liệu gốc vào phạm vi truy cập (Tập dữ 
liệu) của một Transaction khác đang thực hiện 
ếđ n khi Transaction này commit hoặc Rollback
• Thiết lập
– Set Transaction Isolation Level Serializable
Snapshot
• Tạo một bản sao Snapshot của dữ liệu gốc khi 
Transaction bắt đầu thực thi và cho phép 
Transaction thực thi trên bản sao này cho đến 
lúc commit hoặc Rollback
• Thiết lập
– Set Transaction Isolation Level Snapshot
So sánh các mức độ tách biệt
4/12/2019
39
Khóa - Lock
• Locks là cơ cấu cho phép ngăn ngừa các hành động 
trên đối tượng có thể gây ra xung đột với
những gì đã thực hiện và hoàn thành trên đối tượng 
trước đó.
• Khi làm việc trên cơ sở dữ liệu đa người dùng xung đột , 
giữa nhiều người sử dụng cùng thực hiện là thường 
xuyên xảy ra. 
• Xử lý đụng độ hay tranh chấp trên đối tượng, chúng ta 
phải biết khi nào nên khoá (lock) khi nào không thể 
khoá, và những loại lock nào đang có.
Lock
• Lock hướng đến giải quyết 4 vấn đề sau
– Dirty reads (đọc dữ liệu sai)
– Unrepeatable reads (đọc hai lần bản ghi)
Phantoms (Đọc các bản ghi nháp không có)– , 
– Lost updates (cập nhật, mất dữ liệu)
Các loại Lock trong SQL Server
• Pessimistic Lock:
– Là chiến lược lock trước tài nguyên (rows) trước khi end users thay đổi
• Optimistic Lock
– Là chiến lược chỉ lock tại thời điểm user đang thay đổi dữ liệu.
• Shared Locks (S):
ế ề– Hạn ch quy n sửa của người dùng 2 khi người dùng 1 đang đọc hoặc 
truy cập dữ liệu
• Exclusive Lock (X)
– Hạn chế quyền đọc và sửa của người dùng 2 khi người dùng 1 đang 
cập nhật dữ liệu
• Update Lock (U)
– Kết hợp giữa share lock và exclusive lock.
DeadLock
Phạm vi khóa
4/12/2019
40
Kết thúc
• Tạo sao cần bảo mật CSDL?
• Các chế độ bảo mật CSDL của SQL 
server
SQL S ó hữ ời dù à ?• erver c n ng ngư ng n o 
Quyền và vai trò của người dùng trong 
SQL Server
• Các chế độ mã hóa trong SQL Server
BÀI 11
SAO LƯU, PHỤC HỒI DỮ LIỆU 
Nội dung bài 11
• SAO LƯU và PHỤC HỒI
• CÁC KIỂU SAO LƯU VÀ PHỤC HỒI
• SAO LƯU TỰ ĐỘNG 
11.1 Sao lưu và phục hồi
• Dữ liệu có thể bị mất mát, hư hỏng khi 
thực thi, lưu trữ, truyền
• => Để tránh mất mát, hư hỏng => Thường 
xuyên sao lưu => Khi hệ thống dữ liệu gặp 
các vấn đề có thể phục hồi từ các bản sao
Sao lưu
• Sao lưu CSDL là tạo thêm một bản sao 
CSDL
• Bản sao có thể dùng để khôi phục lại 
CSDL trong trường hợp CSDL gặp sự cố 
• Bản sao thường gồm tất cả các file dữ liệu 
và file transaction log 
• File log để có thể rollback hoặc roll 
forward các trạng thái giao dịch trước đó
Các trạng thái trong log
4/12/2019
41
Sao lưu
• Sao lưu một CSDL là ghi lại toàn bộ trạng 
thái của CSDL tại thời điểm thực thi
• Sao lưu Transaction Log
T á t ì h l SQL S ẫ• rong qu r n sao ưu erver v n 
cho phép thực hiện các giao dịch
Sao lưu Phục hồi
• Phục hồi là khôi phục một bản sao lưu 
CSDL để đưa về trạng thái khi sao lưu
• Các Transaction không hoàn thành trong 
trạng thái đó sẽ được Roll Back để đảm 
bảo tính nhất quán của CSDL
• Khôi phục một bản Transaction Log
Restore Các loại backup
• Full Database Backup
– Sao lưu toàn bộ
• Differential Backup
– Chỉ sao lưu các thay đổi
• Transaction Log Backup
– Chỉ sao lưu các 
Transaction có thay đổi 
trong lần gần nhất
• File or File Group Backup
– Chỉ sao lưu File hoặc nhóm 
file
4/12/2019
42
Cách thức tiến hành Lựa chọn kiểu backup
Lựa chọn các file và thư mục Phục hồi
• Full Recovery Model
– Có thể phục hồi gần toàn 
bộ về một thời điểm trong 
quá khứ
• Bulk_Logged Recovery 
Model
– Các hoạt động Log đầy đủ 
và Log minimum
• Simple Recovery Model
– Chỉ phục hồi CSDL về thời 
điểm sao lưu gần nhất
Cách thức tiến hành Lựa chọn kiểu phục hồi
4/12/2019
43
Chọn thời điểm cần phục hồi Một số chú ý khi sao lưu và phục hồi
• Sao lưu
– Thường xuyên sao lưu để giảm rủi ro cho hệ 
thống
– Khi có bất kỳ thay đổi quan trọng nào trên 
CSDL nên sao lưu
– Full Backup là giải pháp tối ưu nhưng tốn 
không gian nhớ
Một số chú ý khi sao lưu và phục hồi
• Phục hồi
– Cần theo dõi các bản phục hồi thật chính xác
– Lựa chọn các bản phục hồi theo các sự cố
Chú ý lựa chọn các kiểu phục hồi phù hợp– 
theo tổn thất sự cố gây ra cho hệ thống
Sao lưu tự động
• Sử dụng Agent SQL Server để tạo lịch sao 
lưu tự động
Kết thúc
• Tạo sao cần sao lưu CSDL?
• Các chế độ sao lưu CSDL của SQL server
• SQL Server có những cơ chế phục hồi 
à ? Khi à ê h hồi ột CSDLn o n o n n p ục m 
trong SQL Server
• Cài đặt chế độ sao lưu tự động trong SQL 
Server

File đính kèm:

  • pdfbai_giang_quan_tri_co_so_du_lieu_bai_1_tong_quan_ve_quan_tri.pdf