Cấu trúc cơ sở dữ liệu của SQL server 7.0

26 1.3K 10
Cấu trúc cơ sở dữ liệu của SQL server 7.0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CẤU TRÚ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ỉ người quản lý CSDL mới được làm việc trên đó. SQL Server 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 thể thực thi cả nhiệm vụ đònh nghóa hoặc gởi e-mail đến 1 người chỉ đònh. Job: là sự thực hiện 1 hành động quản lý chứa 1 hoặc nhiều bước, thay thế cho thuật ngữ task của SQL Server 6.5. II. CẤU TRÚC CSDL VẬT LÝ: II.1Trang (page): Đơn vò bản lưu trữ dữ liệu là trang (page). Trong SQL Server 7.0 , 1 trang kích thước 8MB, ta sẽ 128 trang/1MB. 96 byte đầu của mỗi trang chứa header của trang gồm thông tin hệ thống như loại trang, số vùng trống của trang. Cấu trúc trang dữ liệu: Các hàng dữ liệu (data row) được đưa vào tuần tự ngay sau page header, row offset được bắt đầu từ cuối trang, chỉ đến data row và cho biết byte bắt đầu của data row, kích thước hàng tối đa là 8060 byte. II.2 Extent: Extent là đơn vò bản chỉ vùng lưu bảng và index. Mỗi extent gồm 8 trang liên tục nhau. 2 loại extent: • Mixed extent thể lưu những đối tượng khác nhau. • Uniform extent chỉ thể lưu 1 đối tượng duy nhất. II.3Những loại file trong CSDL: SQL Server 3 loại file: • Primary file: là file bắt đầu của CSDL. Mỗi CSDL chỉ 1 file primary, tên file phần mở rộng là .mdf. • Secondary file: là file lưu những gì còn lại của CSDL mà không chứa trong primary file, thể nhiều file secondary, tên file phần mở rộng là .ndf. • Log file: chứa những thông tin trans† tion log , được dùng để khôi phục CSDL, mỗi CSDL ít nhất 1 log file , tên file phần mở rộng là .ldf. File của SQL Server 2 tên: • Logical_file_name: là tên dùng trong những câu lệnh Transact_SQL. • Os_file _name: là tên file vật lý, chỉ rõ đường dẫn của file MyDB_primary làtên logical_file_name, c:\Mssql7\Data\MyData1.mdf là tên os_file_name. Những trang trong file được đánh số bắt đầu từ 0. Mỗi file 1 số ID. Mỗi trang trong file gồm cả ID file và số thứ tự trang trong file. Ví dụ: file primary kích thước 4MB, và secondary 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) 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 sở dữ liệu. Nếu như dữ liệu hay sở dữ liệu bò hư thì ta thể dùng bản sao lưu (backup) này để khôi phục lại sở dữ liệu bò mất. I. SAO LƯU CSDL: Sao lưu (backup) 1 sở dữ liệu (CSDL) là tạo 1 bản sao CSDL , ta 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 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. Roll back là hủy bỏ giao dòch chưa hoàn thành khi hệ thống xảy ra sự cố,… (hoặc trong trường hợp sao lưu, khi đã thực hiện xong việc sao lưu mà giao dòch chưa hoàn thành) ( xem chi tiết ở phần Transaction). Roll forward là khôi phục tất cả giao dòch đã hoàn thành khi hệ thống xảy ra sự cố,… (hoặc trong trường hợp sao lưu, những giao dòch đã hoàn thành khi đã thực hiện xong việc sao lưu ) ( xem chi tiết ở phần Transaction). Checkpoint là thời điểm ghi lại tất cả những trang dữ liệu thay đổi lên đóa. Ví dụ minh họa roll back và roll forward: 1. Giao dòch 1 commit trước khi checkpoint, không làm gì cả vì dữ liệu đã được thay đổi trong CSDL ( ứng với số 1 trong hình). 2. Giao dòch 2 và 4 commit sau khi checkpoint nhưng trước khi hệ thống xảy ra sự cố, do đó những giao dòch này được tạo lại từ log file. Điều này gọi là roll forward (ứng với số 2 và 4 trong hình). 3. Giao dòch 3 và 5 chưa commit khi hệ thống xảy ra sự cố, do đó những giao dòch này không được thực hiện và trả về CSDL khi chưa xảy ra giao dòch. Điề này gọi là roll back (ứng với số 3 và 5 trong hình). Hình minh họa quá trình khôi phục giao dòch Checkpoint Hệ thống xảy ra sự cố Sao lưu 1 transaction log là chỉ sao lưu những thay đổi xảy ra trong transaction log kể từ lần sao lưu transaction log cuối cùng. Sao lưu 1 CSDL ghi lại toàn bộ trạng thái của dữ liệu tại thời điểm thực hiện xong sao lưu. Trong thời gian sao lưu, SQL Server 7.0 cho phép thực hiện việc giao dòch (transaction). II. KHÔI PHỤC (RESTORING) CSDL: Việc khôi phục 1 bản sao lưu CSDL sẽ trả về CSDL cùng trạng thái của CSDL khi ta thực hiện việc sao lưu. Giao dòch (transaction) nào không hoàn thành trong khi sao lưu (backup) CSDL được roll back để đảm bảo tính nhất quán CSDL. Khôi phục 1 bản sao lưu transaction log là áp dụng lại tất cả giao dòch (transaction) hoàn thành trong transaction log đối với CSDL. Khi áp dụng bản sao lưu transaction log, SQL Server đọ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 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 dữ liệu ABC, DEF, GHI, JKL, transaction log file không dữ liệu vì không 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 JKL ABC DEF ABC DEF GHI JKL ABC=123 GHI=456 3. Khi thực hiện giao dòch (transaction) xong, SQL Server thực hiện tiếp việc sao lưu (backup) , sẽ chép phần còn lại của dữ liệu nhưng dữ liệu đã thay đổi do xảy ra giao dòch. database database backup transaction log 4. Khi sao lưu xong phần dữ liệu thì sẽ chép tiếp phần transaction log. database database backup transaction log transaction log backup 5. Khi yêu cầu khôi phục (restore) CSDL , CSDL được khôi phục trước, chép lại toàn bộ CSDL của bản sao lưu CSDL đó . restore database backup 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 JKL [...]... dụng Quá trình sao lưu và cấu trúc dữ liệu bên trong của SQL Server 7.0 được cải tiến để những bản sao lưu tăng tốc độ truyền dữ liệu lên thiết bò giữ bản sao lưu với ảnh hưởng tối thiểu trên dữ liệu truyền qua giao dòch • Tốc độ truyền dữ liệu của quá trình sao lưu và khôi phục càng nhanh thì nó càng hỗ trợ cho những CSDL rất lớn Cấu trúc dữ liệu mới trong CSDL của SQL Server 7.0 và giải thuật backup... (tương đương với lệnh BACKUP của SQL Server 7.0) Trong quá trình sao lưu và khôi phục của SQL Server: • Những extent (xem chi tiết extent ở phần Cấu trúc CSDL của SQL Server 7.0) chứa dữ liệu được ghi vào backup set mà không để ý đến việc user thay đổi những page dữ liệu (xem chi tiết page ở phần Cấu trúc CSDL của SQL Server 7.0) đồng thời trong suốt quá trình backup Tuy nhiên , điều này không nghóa là... dữ liệu trên SQL Server sang file của hệ điều hành hay ngược lại Đây là chương trình chạy từ dấu nhắc lệnh Bcp chuyển dữ liệu từ SQL Server thành file của hệ điều hành theo đònh dạng của người dùng hay ngược lại Tiện ích này thể thực hiện một tự động với những giá trò mặc đònh thường được dùng Trình tiện ích này thường được dùng để chuyển dữ liệu vào CSDL SQL Server từ một chương trình khác Dữ liệu. .. đến sự thay đổi dữ liệu của user khi phát biểu này đang xử lý • Lệnh RESTORE nhanh hơn Quá trình khôi phục sẽ khôi phục lại trạng thái của CSDL đến lúc lệnh BACKUP hoàn tất Trong những bản (version) trước của SQL Server, lệnh LOAD ( tương đương với lệnh RESTORE của SQL Server 7.0) khôi phục lại trạng thái của CSDL đến lúc lệnh DUMP bắt đầu (tương đương với lệnh BACKUP của SQL Server 7.0) Trong quá trình... nhất quán giữa những dữ liệu liên quan 1 cách hợp lý trong những bảng khác nhau • Duy trì tập hợp những bản sao lưu cũ trong msdb database Msdb database là 1 trong 4 CSDL hệ thống của SQL Server (xem chi tiết msdb database ở phần Cấu trúc CSDL của SQL Server 7.0) Nếu CSDL nào được khôi phục thì hộp hội thoại Restore Database của SQL Server Enterprise Manager hiện lên danh sách của tất cả các bản backup... liệu muốn chuyển phải được đặt trên file của hệ điều hành hay đóa mềm bằng tiện ích sao lưu của chương trình Tiện ích này cũng được dùng chuyển tạm dữ liệu để làm việc với những chương trình khác, như bảng tính Dữ liệu được chuyển từ SQL Server thành file của hệ điều hành hay lên đóa mềm; từ đó thể nhập dữ liệu từ chương trình khác SQL Server chấp nhận dữ liệu từ bất kỳ đònh dạng ASCII hay binary,... cục bộ của server hoặc trên đóa tài nguyên chia sẻ của mạng Nếu thực hiện sao lưu trên đóa của máy tính mạng , sử dụng universal naming convention name (UNC) theo đònh dạng \\Servername\Sharename\Path\File để chỉ vò trí của file Cũng giống như khi viết file lên đóa cục bộ, khi ta đọc/ghi file trên đóa ở xa phải được SQL Server cho phép thông qua tài khoản của user mà SQL Server cấp Vì sao lưu dữ liệu. .. ABC=123 GHI=456 6 Sau đó SQL Server sẽ khôi phục tiếp phần transaction log Trước tiên sẽ roll forward nhưng khi đọc đến dữ liệu thứ ba thì nó thấy dữ liệu này đã được thay đổi rồi do đó nó sẽ roll back ( trả về dữ liệu ban đầu khi chưa thực hiện giao dòch) để nhất quán dữ liệu restore ABC DEF GHI JKL database backup ABC DEF 456 JKL transaction log backup ABC=123 GHI=456 CẤU TRÚC SAO CHÉP DỰ PHÒNG (BACKUP)... các backup set của những phần mềm khác như những backup set của Windows NT, các backup set đều được đánh số Điều này cho phép backup set dùng để khôi phục sẽ được tham khảo dễ dàng Ví dụ media 4 backup set, 2 backup set của SQL Server và 2 của WinNT Để khôi phục backup set thứ hai của SQL Server, ta chỉ ra vò trí thứ tư để khôi phục III QUÁ TRÌNH SAO LƯU VÀ KHÔI PHỤC: SQL Server 7.0 dùng những... với phần mở rộng sql 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 Trigger: 1 stored procedure thực thi khi ta thay đổi dữ liệu trong 1 bảng . 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. BACKUP của SQL Server 7. 0) . Trong quá trình sao lưu và khôi phục của SQL Server: • Những extent (xem chi tiết extent ở phần Cấu trúc CSDL của SQL Server 7. 0)

Ngày đăng: 28/09/2013, 10:20

Hình ảnh liên quan

Extent là đơn vị cơ bản chỉ vùng lưu bảng và index. Mỗi extent gồm 8 trang liên tục nhau - Cấu trúc cơ sở dữ liệu của SQL server 7.0

xtent.

là đơn vị cơ bản chỉ vùng lưu bảng và index. Mỗi extent gồm 8 trang liên tục nhau Xem tại trang 3 của tài liệu.
Hình minh họa quá trình khôi phục giao dịch - Cấu trúc cơ sở dữ liệu của SQL server 7.0

Hình minh.

họa quá trình khôi phục giao dịch Xem tại trang 8 của tài liệu.
Trong hình ta có các bản sao lưu, gồm các loại bản sao, ở đây có bản sao database và các bản sao transaction log, hộp hội thoại Restore Database của SQL Server Enterprise  Manager cho phép user chọn bản sao, user muốn khôi phục trạng thái của CSDL đến mức - Cấu trúc cơ sở dữ liệu của SQL server 7.0

rong.

hình ta có các bản sao lưu, gồm các loại bản sao, ở đây có bản sao database và các bản sao transaction log, hộp hội thoại Restore Database của SQL Server Enterprise Manager cho phép user chọn bản sao, user muốn khôi phục trạng thái của CSDL đến mức Xem tại trang 13 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan