Download miễn phí Học SQL server 2000





MỤC LỤC
Overview of SQL Server 2000 . 2
Transact SQL . 7
Backup And Restore SQL Server . 24
Stored Procedure and Advanced T-SQL. 41
Triggers And Views . 51



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

Files và sau đó sẽ
lần lượt thực thi các transaction trong transaction log. Lưu ý ta phải dùng option
WITH NORECOVERY trong trường hợp này (tức là option thứ 2 "Leave
database nonoperational but able to restore additional transaction
logs" trong Enterprise Manager). Nghĩa là các transaction chưa hoàn tất
(incomplete transaction) sẽ không được roll back. Như vậy database lúc này
sẽ ở trong tình trạng inconsistent và không thể dùng được. Nếu ta chọn
WITH RECOVERY (hay "Leave database operational. No additional
transaction logs can be restored " trong Enterprise Manager) thì các
incomplete transaction sẽ được roll back và database ở trạng thái consistent
nhưng ta không thể nào restore các transaction log backup được nữa.
Tiếp theo bạn phải restore Differential Backup của ngày Thứ Năm. Sau đó lần
lượt restore các Transaction Log Backup kể từ sau lần Differential Backup cuối
cùng nghĩa là restore Transaction Log Backup của ngày Thứ Năm và "Cái Ðuôi".
Như vậy ta có thể phục hồi data trở về trạng thái trước khi biến cố xảy ra. Quá
trình này gọi là Database Recovery.
Cũng xin làm rõ cách dùng từ Database Restoration và Database Recovery
trong SQL Server. Hai từ này nếu dịch ra tiếng Việt đều có nghĩa là phục hồi cơ
sở dữ liệu nhưng khi đọc sách tiếng Anh phải cẩn thận vì nó có nghĩa hơi khác
nhau.
Như trong ví dụ trên Khi ta restore database từ một file backup nghĩa là chỉ đơn
giản tái tạo lại database từ những file backup và thực thi lại những transaction
đã được commit nhưng database có thể ở trong trạng thái inconsistent và không
sử dụng được. Nhưng khi nói đến recover nghĩa là ta không chỉ phục hồi lại
data mà còn bảo đảm cho nó ở trạng thái consistent và sử dụng được (usable).
Có thể bạn sẽ hỏi consistent là thế nào? Phần này sẽ được nói rõ trong bài sau
về Data Integrity. Nhưng cũng xin dùng một ví dụ đơn giản để giải thích. Trong
ví dụ về thế nào là một transaction ở bài 3 : Giả sử số tiền $500 được trừ khỏi
account A nhưng lại không được cộng vào account B và nếu database không
được quá trình khôi phục dữ liệu tự động (automatic recovery process) của SQL
rollback thì nó sẽ ở trạng thái inconsistent. Nếu database ở trạng thái giống như
trước khi trừ tiền hay sau khi đã cộng $500 thành công vào account B thì gọi là
consistent.
Cho nên việc backup Transaction Log File sẽ giúp cho việc recovery data tới bất
kỳ thời điểm nào trong quá khứ. Ðối với Simple Recovery Model ta chỉ có thể
recover tới lần backup gần nhất mà thôi.
HỌC SQL SERVER 2000 28
Như vậy khi restore database ta có thể chọn option WITH RECOVERY để roll
back các transaction chưa được commited và database có thể hoạt động bình
thường nhưng ta không thể restore thêm backup file nào nữa, thường option này
được chọn khi restore file backup cuối cùng trong chuỗi backup. Nếu chọn option
WITH NORECOVERY các transaction chưa được commited sẽ không được roll
back do đó SQL Server sẽ không cho phép ta sử dụng database nhưng ta có thể
tiếp tục restore các file backup kế tiếp, thường option này được chọn khi sau đó
ta còn phải restore các file backup khác.
Không lẽ chỉ có thể chọn một trong hai option trên mà thôi hay sao? Không hoàn
toàn như vậy ta có thể chọn một option trung lập hơn là option WITH STANDBY
(tức là option 3 "Leave database read-only and able to restore additional
transaction logs" trong Enterprise Manager). Với option này ta sẽ có luôn đặc
tính của hai option trên : các incomplete transaction sẽ được roll back để đảm
bảo database consistent và có thể sử dụng được nhưng chỉ dưới dạng Read-only
mà thôi, đồng thời sau đó ta có thể tiếp tục restore các file backup còn lại (SQL
Server sẽ log các transaction được roll back trong undo log file và khi ta restore
backup file kế tiếp SQL Server sẽ trả lại trạng thái no recovery từ những gì ghi
trên undo file). Người ta dùng option này khi muốn restore database trở lại một
thời điểm nào đó (a point in time) nhưng không rõ là đó có phải là thời điểm mà
họ muốn không, cho nên họ sẽ restore từng backup file ở dạng Standby và kiểm
chứng một số data xem đó có phải là thời điểm mà họ muốn restore hay không
(chẳng hạn như trước khi bị delete hay trước khi một transaction nào đó được
thực thi) trước khi chuyển sang Recovery option.
Backup Database
Trong phần này chúng ta sẽ bàn về cách backup database. Nhưng trước hết
chúng ta hãy làm quen với một số thuật ngữ dùng trong quá trình backup và
restore. Có những từ ta sẽ để nguyên tiếng Anh mà không dịch.
Thuật Ngữ Giải Thích
Backup
Quá trình copy toàn bộ hay một phần của database, transaction log, file
hay file group hình thành một backup set. Backup set được chứa trên backup
media (tape or disk) bằng cách sử dụng một backup device (tape drive name hay
physical filename)
Backup Device Một file vật lý (như C:\SQLBackups\Full.bak) hay tape drive cụ thể (như \\.\Tape0) dùng để record một backup vào một backup media.
Backup File File chứa một backup set
Backup Media
Disk hay tape được sử dụng để chứa một backup set. Backup media có thể chứa
nhiều backup sets (ví dụ như từ nhiều SQL Server 2000 backups và từ nhiều
Windows 2000 backups).
Backup Set Một bộ backup từ một lần backup đơn được chứa trên backup media.
HỌC SQL SERVER 2000 29
Chúng ta có thể tạo một backup device cố định (permanent) hay tạo ra một
backup file mới cho mỗi lần backup. Thông thường chúng ta sẽ tạo một backup
device cố định để có thể dùng đi dùng lại đặc biệt cho việc tự động hóa công
việc backup. Ðể tạo một backup device dùng Enterprise Manager bạn chọn
Management->Backup rồi Right-click->New Backup Device. Ngoài ra
bạn có thể dùng sp_addumpdevice system stored procedure như ví dụ sau:
USE Master
Go
Sp_addumpdevice 'disk' , 'FullBackupDevice' , 'E:\SQLBackups\Full.bak'
Ðể backup database bạn có thể dùng Backup Wizard hay click lên trên database
muốn backup sau đó Right-click->All Tasks->Backup Database... sẽ hiện
ra window như hình vẽ sau:
Sau đó dựa tùy theo yêu cầu của database mà chọn các option thích hợp. Ta có
thể schedule cho SQL Server backup định kỳ.
HỌC SQL SERVER 2000 30
Restore Database
Trước khi restore database ta phải xác định được thứ tự file cần restore. Các
thông tin này được SQL Server chứa trong msdb database và sẽ cho ta biết
backup device nào, ai backup vào thời điểm nào. Sau đó ta tiến hành restore. Ðể
restore bạn Right-click->All Tasks->Restore database... sẽ thấy window
như hình vẽ sau:
Nếu bạn restore từ một instance khác của SQL Server hay từ một server khác
bạn có chọn From device option và chọn backup device (file backup) tương
ứng .
Lưu ý nếu bạn muốn overwrite database có sẵn với data được backup bạn có thể
chọn option Force restore over existing database như hình vẽ sau:
HỌC SQL SERVER 2000 31
Bạn có thể chọn leave database operational hay nonoperational tùy theo trường
hợp như đã giải thích ở trên.
Tóm lại trong bài này chúng ta đã tìm hiểu một chút lý thuyết về backup và
restore database trong SQL Server. Ðể có thể hiểu rõ hơn bạn cần thực tập
hay làm thử để có thêm kinh nghiệm. Trong bài sau chúng ta sẽ bàn về đề tài
Data Integrity nghĩa là làm sao để đảm bảo data chứa trong database là đáng tin
cậy và không bị "lũng lỗ" như cách nói bình dân mà tui thường hay dùng.
Data Integrity and Advanced Query Technique
Nói đến Data Integrity là ta nói đến tính ...
 

Các chủ đề có liên quan khác

Top