Các khái niệm về hệ quản trị csdl


Bảng 6.9: Cấu trúc bảng Reservation



tải về 1.1 Mb.
trang9/15
Chuyển đổi dữ liệu17.08.2016
Kích1.1 Mb.
1   ...   5   6   7   8   9   10   11   12   ...   15

Bảng 6.9: Cấu trúc bảng Reservation

4. Chèn các chi tiết sau vào bảng Reservation





Bảng 6.10: Các bản ghi của Reservation

  • Hiển thị Aricraft code và Journeydate từ bảng Reservation

  • Hiển thị tổng số chỗ ngồi từ bảng Reservation

  • Tạo một bảng có tên là NewReservation có cùng cấu trúc như bảng Reservation

  • Sử dụng mệnh đề INSERT WITH để chèn các giá trị từ bảng Reservation vào bảng NewReservation.

  • Hiệu chỉnh bảng Reservation và thêm một cột PassName với kiểu dữ liệu varchar với kích thước là 25.

  • Hiệu chỉnh bảng Reservation và thiết lập trường PNRNO làm khoá chính.

CHƯƠNG 7 TẠO VÀ QUẢN LÝ CƠ SỞ DỮ LIỆU

Mục tiêu:


Kết thúc chương này, các bạn sẽ có thể:

  • Mô tả CSDL hệ thống và CSDL người dùng định nghĩa trong SQL Server 2005.

  • Tổng quan các tính năng chính của CSDL mẫu AdventureWorks.

  • Mô tả làm thế nào để thêm các nhóm tập tin và các vết của giao dịch.

  • Liệt kê các kiểu trong CSDL và mô tả làm thế nào để hủy bỏ một CSDL.



    1. Giới thiệu:

Một CSDL là một tập các dữ liệu được lưu trữ trong các tập tin dữ liệu trên một đĩa hoặc các thiết bị lưu trữ có thể di chuyển được. Một CSDL gồm các tập tin dữ liệu để giữ các dữ liệu thật.

SQL Server 2005 hỗ trợ ba loại CSDL:



  • CSDL hệ thống

  • CSDL người dùng định nghĩa

  • CSDL mẫu

    1. Các CSDL được SQL hỗ trợ

SQL Server hỗ trợ cả hai CSDL hệ thống và CSDL người dùng. Các CSDL hệ thống được tạo ra bởi SQL Server. Các CSDL này được sử dụng để lưu thông tin về SQL Server 2005. Hơn nữa, các CSDL này còn được sử dụng để quản lý các CSDL người dùng.

      1. Các CSDL hệ thống

Bảng 7.1 trình bày các CSDL hệ thống được hỗ trợ bởi SQL Server 2005.

CSDL

Mô tả

master

CSDL này lưu trữ các tất cả các thông tin hệ thống của một phiên bản cài đặt SQL Server.

msdb

CSDL này được sử dụng bởi SQL Server Agent để nhắc nhở các công tác thực hiện theo lịch biểu và các công việc khác.

model

CSDL này được sử dụng như CSDL mẫu cho tất cả các CSDL được tạo ra trong phiên bản cài đặt cụ thể của SQL Server 2005.

resource

CSDL này là CSDL chỉ đọc. Nó gồm các đối tượng hệ thống được gộp vào trong SQL Server 2005.

tempdb

CSDL này lưu trữ các đối tượng tạm thời và các tập kết quả trung gian

Bảng 7. 1: Các CSDL hệ thống trong SQL Server 2005

  • Thay đổi dữ liệu của CSDL hệ thống

Người dùng không được phép cập nhật thông tin trực tiếp vào các đối tượng CSDL hệ thống, như là các bảng hệ thống, các thủ tục lưu trữ hệ thống, và các khung nhìn danh mục. Người sử dụng có thể sử dụng một tập đầy đủ các công cụ quản trị cho phép họ quản trị đầy đủ hệ thống và quản lý tất cả các người sử dụng và các đối tượng CSDL. Đó là:

    • Các tiện ích quản trị: SQL Server Management Studio.

    • Giao diện lập trình ứng dụng với các đối tượng quản lý SQL Server: gồm chức năng đầy đủ cho việc quản trị SQL Server trong các ứng dụng.

    • Kịch bản Transact-SQL và thủ tục lưu trữ: sử dụng các thủ tục lưu trữ hệ thống và các câu lệnh ngôn ngữ truy vấn dữ liệu Transact-SQL.

  • Xem dữ liệu của CSDL hệ thống

Các ứng dụng CSDL có thể xác định danh mục và thông tin hệ thống bằng cách sử dụng các tiếp cận sau đây:

  • Khung nhìn danh mục hệ thống: Các khung nhìn hiển thị siêu dữ liệu cho việc mô tả các đối tượng CSDL trong một phiên bản cài đặt SQL Server.

  • Các đối tượng quản lý SQL Server: mô hình đối tượng quản lý mã mới, cung cấp một tập các đối tượng được sử dụng để quản lý Microsoft SQL Server.

  • Các hàm danh mục, các phương thức, các thuộc tính, hoặc các tính chất của giao diện lập trình ứng dụng CSDL: được sử dụng trong các đối tượng dữ liệu ActiveX (ADO), CSDL liên kết và nhúng đối tượng (OLE DB), hoặc các ứng dụng kết nối CSDL mở (ODBC).

  • Các thủ tục lưu trữ và các hàm: các thủ tục lưu trữ hệ thống và các hàm dựng sẵn trong SQL Server.

      1. CSDL người dùng định nghĩa

Người sử dụng SQL Server 2005 có thể tạo các CSDL người dùng định nghĩa và làm việc trên các CSDL đó. Mục đích của các CSDL này là để lưu dữ liệu của người sử dụng.

  • Tạo các CSDL

Để tạo một CSDL người dụng, các thông tin sau được yêu cầu:

  • Tên của CSDL

  • Người sở hữu hoặc người tạo CSDL

  • Kích thước của CSDL

  • Các tập tin và nhóm các tập tin được sử dụng để lưu trữ CSDL

Cú pháp để tạo một CSDL người dùng là

Cú pháp:

CREATE DATABASE database_name

[ ON


[ PRIMARY ] [ [ ,...n ]

[ , [ ,...n ] ]

[ LOG ON { [ ,...n ] } ]

]

[ COLLATE collation_name ]



]

[;]


filespec> ::=

{(

NAME = logical_file_name ,



FILENAME = ‘os_file_name’

[ , SIZE = size [ KB | MB | GB | TB ] ]

[ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]

[ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]

) [ ,...n ]

}

::=

{

FILEGROUP filegroup_name [ DEFAULT ] [ ,...n ]



}

Trong đó,

database_name là tên của CSDL được tạo.

ON là các tập tin trên đĩa được sử dụng để lưu các phân đoạn dữ liệu của CSDL, và các tập tin dữ liệu.

PRIMARY là danh sách kết hợp được định nghĩa trong tập tin cơ sở.



các điều khiển các thuộc tính tập tin

NAME logical_file_name định nghĩa tên luận lý cho các tập tin đã chỉ định.

Logical_file_name là các tên luận lý được sử dụng trong SQL Server khi tham khảo tập tin. logical_file_name phải là duy nhất trong CSDL và nó phải tuân theo luật định danh.

FILENAME ‘os_file_name’ định nghĩa tên tập tin theo hệ điều hành hoặc tên tập tin vật lý.

SIZE size định nghĩa kích thước tập tin đã chỉ định.

MAXSIZE max_size định nghĩa kích thước lớn nhất mà tập tin đã chỉ định có thể phát triển.

UNLIMITED định nghĩa các tập tin đã chỉ định có thể phát triển cho tới khi đĩa đầy.

FILEGROWTH growth_increment định nghĩa việc tự động tăng của các tập tin.



các điều khiển các thuộc tính của nhóm tập tin.

FILEGROUP filegroup_name là tên luận lý của nhóm tập tin. Các nhóm tập tin được đặt tên theo tập hợp các tập tin. Điều này hỗ trợ cho việc sắp đặt dữ liệu và các công tác quản trị, như các thao tác lưu trữ và phục hồi CSDL. Nó phải là duy nhất trong CSDL. Nó không thể có tên đã được hệ thống cung cấp như PRIMARY và PRIMARY_LOG.

LOG ON là tập tin trên đĩa được sử dụng để lưu vết CSDL, và các tập tin lưu vết.

COLLATE collation_name là sự đối chiếu mặc định trong CSDL. Một collate định nghĩa các luật so sánh và sắp xếp ký tự dữ liệu dự trên tiêu chuẩn của ngôn ngữ cụ thể và nơi ngôn ngữ đó sử dụng. Tên của collation có thể là tên collation của Windows hoặc tên collation của SQL.

Trong ví dụ 1 trình bày cách tạo ra một CSDL với tập tin CSDL và tập tin lưu vết giao dịch cùng với tên collation.

Ví dụ 1

CREATE DATABASE [Customer_DB] ON PRIMARY

( NAME = N’Customer_DB’, FILENAME = N’C:\Program Files\Microsoft SQL

Server\MSSQL.1\MSSQL\Data\Customer_DB.mdf’)

LOG ON


( NAME = N’Customer_DB_log’, FILENAME = N’C:\Program Files\Microsoft SQL

Server\MSSQL.1\MSSQL\Data\Customer_DB_log.ldf’)

COLLATE SQL_Latin1_General_CP1_CI_AS


Sau khi thực thi đoạn mã trong ví dụ 1, SQL Server 2005 hiển thị thông báo “Command(s) completed successfully” (Câu lệnh đã hoàn tất thành công).

Chú ý: Ký tự N in hoa được đặt trước các hằng chuỗi Unicode

Các xem xét phải được cân nhắc trước khi tạo một CSDL:


  • Để tạo một CSDL, người sử dụng cần phải có quyền CREATE DATABASE, CREATE ANY DATABASE, hoặc ALTER ANY DATABASE.

  • Trong SQL Server 2005, các quyền được áp dụng trong dữ liệu và các tập tin lưu vết của mỗi CSDL.

  • Người sử dụng tạo CSDL nào thì trở thành người sở hữu của CSDL đó.

  • Tối đa là 32,767 CSDL có thể được tạo ra trên một phiên bản cài đặt của SQL Server.

  • Tất cả các đối tượng người sử dụng định nghĩa trong CSDL mô hình được sao chép cho tất cả các CSDL được tạo mới. Bất kỳ các đối tượng dữ liệu, như là bảng, khung nhìn, thủ tục lưu trữ, và kiểu dữ liệu có thể được thêm vào CSDL mô hình và chúng được gộp vào trong các CSDL được tạo mới.

  • Thay đổi các CSDL

Khi CSDL người dùng tăng trưởng hoặc giảm bớt, kích thước của CSDL sẽ được mở rộng hoặc bị co lại bằng tự động hoặc bằng tay. Khi một CSDL người dùng không cần thiết nữa, nó có thể bị hủy bỏ, cùng với các tập tin kết hợp với nó cũng được hủy bỏ.

Cú pháp:

ALTER DATABASE database_name

{

|

|

| MODIFY NAME = new_database_name

| COLLATE collation_name

}

[;]


Trong đó,

database_name là tên của CSDL.

MODIFY NAME = new_database_name là tên mới của CSDL cần được đổi tên

COLLATE collation_name là kiểu sắp xếp mà SQL Server sử dụng(phân biệt chữ hoa chữ thường, sắp xế theo ký mã chữ la tinh,…)



là tập tin để thêm, hủy hoặc đổi.

là nhóm tập tin để thêm, hủy, hoặc đổi từ CSDL

là các chọn lựa về mức của CSDL có ảnh hưởng đến các đặt trưng của CSDL, các đặt trưng này có thể thiết lập cho mỗi CSDL. Những chọn lựa này là duy nhất cho mỗi CSDL và không ảnh hưởng đến các CSDL khác.

Trong ví dụ 2 trình bày cách đổi tên một CSDL Customer_DB thành một tên CSDL mới, CUST_DB.



Ví dụ 2:

ALTER DATABASE Customer_DB MODIFY NAME = CUST_DB

Khi thực hiện lệnh trên sẽ hiển thị một thông báo, “The database name ‘CUST_DB’ has been set” (Tên CSDL CUST_DB đã được thiết lập).

  • Quyền sở hữu của các CSDL

Trong SQL Server 2005, quyền sở hữu của một CSDL người dùng có thể thay đổi. Quyền sở hữu của CSDL hệ thống không có thể thay đổi. Thủ tục hệ thống sp_changedbowner được sử dụng để thay đổi quyền sở hữu của CSDL.

Cú pháp:

sp_changedbowner [ @loginame = ] ‘login’

Trong đó,

Login là tên của người sử dụng cho một CSDL đã tồn tại.

Sau khi sp_changedbowner được thực thi, người sở hữu mới trở thành người dùng sở hữu trong CSDL đã chọn. Người sở hữu nhận các quyền cho phép thực hiện tất cả các hoạt động trong CSDL. Người sở hữu của mô hình chủ (master model) hoặc của các CSDL hệ thống tempdb là không thay đổi được.

Trong ví dụ 3, khi mã lệnh được thực thi, nó làm cho tên truy cập “sa” trở thành người sở hữu của CSDL hiện tại và ánh xạ “sa” vào các bí danh đã tồn tại được gán vào chủ sở hữu của CSDL cũ, và sẽ hiển thị thông báo “Command(s) completed successfully” (Lệnh đã thực hiện thành công).



Ví dụ 3:

USE CUST_DB

EXEC sp_changedbowner ‘sa’



  • Thiết lập các lựa chọn cho CSDL

Các chọn lựa mức CSDL xác định các đặc trưng của CSDL mà nó có thể được thiết lập cho từng CSDL. Các chọn lựa chọn này là duy nhất cho mỗi CSDL, vì vậy chúng không ảnh hưởng đến các CSDL khác. Các lựa chọn CSDL được thiết lập các giá trị mặc định khi một CSDL đầu tiên được tạo ra, và sau đó có thể thay đổi bằng cách sử dụng mệnh đề SET của câu lệnh ALTER DATABASE.

Trong bảng 7.2 trình bày các chọn lựa CSDL được hỗ trợ bởi SQL Server 2005.



Kiểu chọn lựa

Mô tả

Automatic options
(Chọn lựa tự động)

Các điều khiển đối xử tự động của CSDL

Cursor options
(Chọn lựa con trỏ)

Các điều khiển đối xử con trỏ

Recovery options
(Chọn lựa phục hồi)

Các điều khiển các mô hình phục hồi của CSDL

Miscellaneous options
(Chọn lựa linh tinh)

Các điều khiển hợp chuẩn ANSI (American National Standards Institute)

State options
(Chọn lựa trạng thái)

Các điều khiển trạng thái của CSDL, như là tình trạng online/offline và kết nối của người dùng

Bảng 7. 2: Các lựa chọn CSDL trong SQL Server 2005

Chú ý: Các thiết lập mở rộng cho máy chủ được thiết lập sử dụng thủ tục lưu trữ hệ thống sp_configure hoặc SQL Management Studio.

Trong ví dụ 4, khi mã lệnh được thực thi nó thiết lập chọn lựa AUTO_SHRINK cho CSDL CUST_DB là ON. Chọn lựa AUTO_SHRINK khi được thiết lập là ON, các CSDL hủy bỏ sẽ được giải phóng vùng nhớ.

Ví dụ 4:

USE CUST_DB;

ALTER DATABASE CUST_DB

SET AUTO_SHRINK ON


    1. CSDL AdventureWorks

AdventureWorks là một CSDL mẫu mới đã được giới thiệu trong SQL Server 2005. CSDL này trình diễn việc sử dụng các đặc tính mới được giới thiệu trong SQL Server 2005. Một công ty giả sử được gọi là công ty Adventure Works Cycles được đưa vào như một làm kịch bản trong CSDL. Adventure Works Cycles là một công ty lớn sản xuất hàng hóa đa quốc gia. Công ty này sản xuất và bán kim loại và phụ tùng xe đạp cho thị trường thương mại Bắc Mỹ, Châu Âu và Châu Á.

CSDL AdventureWorks gồm có khoảng 100 tính năng. Một vài tính năng chính như sau:



  • Một cơ chế CSDL gồm các khả năng quản trị, khả năng truy cập dữ liệu, khả năng tìm kiếm dữ liệu văn bản, lợi thế tích hợp môi trường thực thi ngôn ngữ chung (CLR – Common Language Runtime), các đối tượng quản lý máy chủ (SMO – Server Management Objects), trình môi giới dịch vụ (Service Broker), và ngôn ngữ đánh dấu mở rộng (XML – eXtensible Markup Language).

  • Các dịch vụ phân tích

  • Các dịch vụ tích hợp

  • Các dịch vụ cảnh báo

  • Các dịch vụ báo cáo

  • Các khả năng tạo bản sao

  • Một tập các mẫu tích hợp trên cơ sở 2 mẫu phức hợp: HRResume và Storefront.

CSDL mẫu này gồm các phần sau:

  • AdventureWorks: CSDL xử lý giao dịch trực tuyến (OLTP – Online Transaction Processing)

  • AdventureWorksDW: CSDL kho (Data warehouse)

  • AdventureWorksAS: CSDL dịch vụ phân tích (Analysis Services)

    1. Nhóm tập tin và ghi vết giao dịch

Trong SQL Server 2005, các tập tin dữ liệu được sử dụng để lưu trữ các tập tin CSDL. Các tập tin dữ liệu được phân bổ vào các nhóm tập tin nhằm nâng cao hiệu suất. Mỗi nhóm tập tin được sử dụng để nhóm các tập tin liên quan và lưu trữ cùng với một đối tượng CSDL.

Ghi vết giao dịch trong SQL Server 2005 lưu trữ các giao dịch cũng như các thay đổi CSDL bởi mỗi giao dịch. Ghi vết giao dịch là một trong những thành phần then chốt của CSDL. Nó có thể là nguồn dữ liệu gần nhất trong trường hợp hệ thống hỏng hóc.



      1. Nhóm tập tin

Mặc định mỗi CSDL có một nhóm tập tin chính. Các nhóm tập tin gồm tập tin dữ liệu chính. Nhóm tập tin chính và các tập tin dữ liệu được tạo tự động với các giá trị thuộc tính mặc định tại thời điểm tạo ra CSDL. Các nhóm tập tin người dùng định nghĩa có thể được tạo ra sau đó để nhóm các tập tin dữ liệu với mục đích quản trị, định vị dữ liệu và sắp đặt công việc.

Ví dụ có 3 tập tin Customer_Data1.ndf, Customer_Data2.ndf, và Customer_Data3.ndf, có thể được tạo trên 3 ổ đĩa riêng biệt, và được gán vào một nhóm tập tin Customer_fgroup1. Sau đó một bảng có thể được tạo trên nhóm tập tin Customer_fgroup1. Các truy vấn dữ liệu từ bảng đó sẽ chuyển qua ổ 3 đĩa bằng cách đó để nâng cao hiệu suất.

Trong bảng 7.3 trình bày các nhóm tập tin được hỗ trợ bởi SQL Server 2005.


Nhóm tập tin

Mô tả

Primary

Nhóm tập tin chứa tập tin chính. Các bảng hệ thống được lưu trong nhóm tập tin chính.

User-defined

Bất kỳ nhóm tập tin được tạo bởi người sử dụng tại thời điểm tạo hoặc thay đổi CSDL.

Bảng 7. 3: Nhóm tập tin trong SQL Server 2005

  • Thêm các nhóm tập tin vào một CSDL

Nhóm tập tin có thể được tạo khi CSDL được tạo cho lần đầu tiên hoặc có thể được tạo sau đó khi nhiều tập tin hơn được tạo để thêm vào CSDL. Tuy nhiên, các tập tin không thể chuyển đến các nhóm tập tin khác sau khi các tập tin đã được thêm vào CSDL.

Một tập tin không thể là thành viên của nhiều hơn 1 nhóm tập tin tại cùng thời điểm. Tối đa là 32,767 nhóm tập tin được tạo cho mỗi CSDL. Các nhóm tập tin chỉ có thể gồm các tập tin dữ liệu. Các tập tin ghi vết giao dịch không thể thuộc một nhóm tập tin.

Cú pháp để thêm các nhóm tập tin trong khi tạo một CSDL có thể xem dưới đây.

Cú pháp:


CREATE DATABASE database_name

[ ON


[ PRIMARY ] [ [ ,...n ]

[ , [ ,...n ] ]

[ LOG ON { [ ,...n ] } ]

]

[ COLLATE collation_name ]



]

[;]


trong đó,

database_name là tên của CSDL mới được tạo ra.

ON là các tập tin trên đĩa lưu trữ các phân đoạn dữ liệu của CSDL, và các tập tin dữ liệu.

PRIMARY và danh sách được kết hợp định nghĩa tập tin chính. Tập tin đầu tiên sau trong chỉ định nhóm tập tin chính trở thành tập tin chính.

LOG ON là các tập tin trên đĩa được sử dụng để lưu trữ các tập tin ghi vết CSDL.

COLLATE collation_name là collation mặc định của CSDL.

Trong ví dụ 5 trình bày cách để thêm một nhóm tập tin (mặc định là PRIMARY) trong khi tạo một CSDL, được gọi là SalesDB:

Ví dụ 5:


CREATE DATABASE [SalesDB] ON PRIMARY

( NAME = N’SalesDB’, FILENAME = N’C:\Program Files\Microsoft SQL Server\

MSSQL.1\MSSQL\Data\SalesDB.mdf’ , SIZE = 2048KB , MAXSIZE = UNLIMITED,

FILEGROWTH = 1024KB ),

FILEGROUP [MyFileGroup]

( NAME = N’SalesDB_FG’, FILENAME = N’C:\Program Files\Microsoft SQL

Server\MSSQL.1\MSSQL\Data\SalesDB_FG.ndf’ , SIZE = 2048KB , MAXSIZE =

UNLIMITED, FILEGROWTH = 1024KB )

LOG ON

( NAME = N’SalesDB_log’, FILENAME = N’C:\Program Files\Microsoft SQL



Server\MSSQL.1\MSSQL\Data\SalesDB_log.ldf’ , SIZE = 1024KB , MAXSIZE =

2048GB , FILEGROWTH = 10%)

COLLATE SQL_Latin1_General_CP1_CI_AS


Cú pháp:

ALTER DATABASE database_name

{

|

|

| MODIFY NAME = new_database_name

| COLLATE collation_name

}

[;]


Trong ví dụ 6 trình bày làm thế nào để thêm một nhóm tập tin vào một CSDL đã tồn tại, gọi là CUST_DB.

Ví dụ 6:

USE CUST_DB;

ALTER DATABASE CUST_DB

ADD FILEGROUP FG_ReadOnly


  • Các nhóm tập tin mặc định

Các đối tượng được gán vào nhóm tập tin mặc định khi chúng được tạo ra trong CSDL. Nhóm tập tin chính là nhóm tập tin mặc định. Nhóm tập tin mặc định có thể thay đổi bằng cách sử dụng câu lệnhALTER DATABASE. Các đối tượng hệ thống và các bảng hệ thống vẫn còn giữ trong nhóm tập tin chính, nhưng không đi vào nhóm tập tin mặc định mới.

Để làm cho nhóm tập tin FG_ReadOnly thành mặc định, nó sẽ gồm ít nhất một tập tin bên trong nó.

Ví dụ 7 tạo một tập tin mới và thêm vào nhóm tập tin FG_ReadOnly và làm nhóm tập tin FG_ReadOnly đã được tạo trong ví dụ trước trở thành nhóm tập tin mặc định.

Ví dụ 7:


USE CUST_DB

ALTER DATABASE CUST_DB

ADD FILE (NAME = Cust_DB1, FILENAME = ‘C:\Program Files\Microsoft SQL

Server\MSSQL.1\MSSQL\Data\Cust_DB1.ndf’)

TO FILEGROUP FG_ReadOnly

ALTER DATABASE CUST_DB

MODIFY FILEGROUP FG_ReadOnly DEFAULT


  • Xem thông tin nhóm tập tin

Các thuộc tính của CSDL, tập tin, phân vùng, và các nhóm tập tin có thể được xem bằng một vài khung nhìn danh mục, các chức năng hệ thống, và các thủ tục lưu trữ.

Trong bảng 7.4 liệt kê một số hàm hệ thống, và các thủ tục lữu trữ hệ thống trả về thông tin của các CSDL, các tập tin, và các nhóm tập tin.



Các hàm

Mô tả

DB_ID

Hàm này trả về số ID của CSDL

DB_NAME

Hàm này trả về tên của CSDL

FILE_ID

Hàm này trả về số ID của tập tin theo tên tập tin luận lý của CSDL

FILE_NAME

Hàm này trả về tên luận lý của tập tin theo số ID của tập tin cho trước

Bảng 7. 4: Các hàm hệ thống trong SQL Server 2005

      1. Ghi vết giao dịch

Ghi vết giao dịch hỗ trợ các hoạt động dưới đây:

  • Phục hồi các giao dịch riêng lẻ

Một giao dịch không hoàn tất được phục hồi trở lại trong trường hợp một ứng dụng sử dụng câu lệnhROLLBACK, hoặc tổ chức CSDL phát hiện có 1 lỗi xảy ra. Các mẫu tin ghi vết được sử dụng để phục hồi trở lại các thay đổi.

  • Phục hồi các giao dịch không hoàn tất khi SQL Server khởi tạo

Nếu một máy chủ đang chạy SQL Server gặp lỗi, các CSDL có thể có tình trạng mâu thuẫn. Khi một phiên bản cài đặt của SQL Server khởi tạo, nó thực hiện công việc phục hồi cho mỗi CSDL.

  • Chuyển một CSDL, tập tin, nhóm tập tin, hoặc trang đã phục hồi đến vị trí gặp lỗi

CSDL có thể được phục hồi tại vị trí gặp lỗi sau khi phần cứng lỗi hoặc đĩa lỗi ảnh hưởng đến tập tin CSDL.

  • Hỗ trợ việc tái tạo giao dịch

Đặc trình đọc vết (The Log Reader Agent) theo dõi ghi vết giao dịchcủa mỗi CSDL được cấu hình để tái tạo các giao dịch.

  • Hỗ trợ các giải pháp máy chủ standby

Các giải pháp máy chủ standy là nhân đôi CSDL và di chuyển lưu vết tùy thuộc vào ghi vết của giao dịch.

Phần tiếp theo giải thích công việc của ghi vết giao dịch.



  • Công việc của ghi vết giao dịch

Một CSDL trong SQL Server 2005 có ít nhất 1 tập tin dữ liệu và một tập tin ghi vết dữ liệu. Thông tin vết dữ liệu và giao dịch được cấp dữ riêng rẽ trên cùng một tập tin. Các tập tin riêng biệt được sử dụng chỉ cho một CSDL.

SQL Server sử dụng vết giao dịch cho mỗi CSDL để phục hồi các giao dịch. Vết giao dịch là một mẫu tin tuần tự của tất cả các thay đổi đã xảy ra trong CSDL như là các giao dịch đã thực hiện các thay đổi. Các vết này cất giữ thông tin đủ cho việc phục hồi các thay đổi đã được thực hiện trong mỗi giao dịch. Ghi vết giao dịch lưu lại vị trí và định lại vị trí các trang và thực hiện hoặc phục hồi cho mỗi giao dịch. Các đặc tính này của SQL Server được áp dụng để cuộn tới hoặc cuộn lui, để cuộn đến cuối giao dịch trong cụ thể như sau:



  • Một giao dịch được cuộn tới khi một ghi vết giao dịch được áp dụng.

  • Một giao dịch được cuộn lui khi một giao dịch không hoàn tất.

  • Thêm các tập tin ghi vết vào một CSDL

Cú pháp:

ALTER DATABASE database_name

{

...



}

[;]


::=

{

ADD FILE [ ,...n ]



[ TO FILEGROUP { filegroup_name | DEFAULT } ]

| ADD LOG FILE [ ,...n ]

| REMOVE FILE logical_file_name

| MODIFY FILE

}


trong đó,

add_or_modify_files>::= Định nghĩa tập tin để thêm, xóa hoặc sửa

ADD FILE: Thêm một tập tin vào CSDL.

TO FILEGROUP { filegroup_name | DEFAULT } : Định nghĩa nhóm tập tin để thêm tập tin đã khai báo vào. Nếu DEFAULT được sử dụng, tập tin được thêm vào nhóm tập tin mặc định hiện hành.

ADD LOG FILE: Thêm tập tin ghi vết vào CSDL.

REMOVE FILE logical_file_name: Hủy bỏ sự mô tả tập tin luận lý từ một phiên bản cài đặt của SQL Server và xóa tập tin vật lý. Chỉ tập tin rỗng mới được xóa bỏ.

Logical_file_name: Tên luận lý được sử dụng trong SQL Server khi tham chiếu đến tập tin.

MODIFY FILE: Định nghĩa tập tin nên cần được thay đổi.

Trong ví dụ 8 giải thích việc thêm tập tin ghi vết tên là ‘SalesDB_log1’ vào CSDL ‘SalesDB; với kích thước tập tin là 1MB và kích thước tập tin tối đa là 5MB.

Ví dụ 8:


ALTER DATABASE SalesDB

ADD LOG FILE

(NAME = ‘SalesDB_log1’ ,

FILENAME=

’C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\SalesDB_log1.

ldf’ , SIZE=1MB ,

MAXSIZE=5MB)

GO


Chú ý: Mặc định, các vết dữ liệu và giao dịch được đặt trên cùng đĩa cứng và đường dẫn để thích hợp với các hệ thống đĩa đơn, nhưng có thể không tối ưu cho các môi trường sản xuất.



    1. Thay đổi CSDL và hủy bỏ CSDL

Phần tiếp theo đặc tả các phương pháp thay đổi CSDL, và hủy bỏ CSDL.

      1. Các phương pháp thay đổi CSDL

Trong bảng 7.5 liệt kê và mô tả các kiểu thay đổi CSDL và các phương pháp thay đổi CSDL.

Các kiểm thay đổi

Các phương pháp thay đổi

Tăng kích thước của CSDL

Sử dụng câu lệnh ALTER DATABASE hoặc các thuộc tính CSDL trong SQL Server Management Studio.

Thay đổi vị trí vật lý của CSDL

Sử dụng câu lệnh ALTER DATABASE

Thêm tập tin ghi vết dữ liệu và giao dịch

Sử dụng câu lệnh ALTER DATABASE hoặc các thuộc tính CSDL trong SQL Server Management Studio.

Thu nhỏ kích thước CSDL

Sử dụng câu lệnhDBCC SHRINKDATABASE hoặc chọn lựa Shrink Database trong SQL Server Management Studio, chấp nhận lựa chọn này trong mục CSDL cần co rút.

Thu nhỏ một tập tin CSDL

Sử dụng câu lệnh DBCC SHRINKFILE

Xóa bỏ các tập tin dữ liệu hoặc tập tin ghi vết

Sử dụng câu lệnh ALTER DATABASE hoặc các thuộc tính CSDL trong Server Management Studio.

Thêm một nhóm tập tin vào CSDL

Sử dụng câu lệnh ALTER DATABASE hoặc các thuộc tính CSDL trong Server Management Studio.

Thay đổi nhóm tập tin mặc định

Sử dụng câu lệnh ALTER DATABASE.

Thay đổi các chọn lựa CSDL

Sử dụng câu lệnh ALTER DATABASE hoặc các thuộc tính CSDL trong Server Management Studio.

Thay đổi người sở hữu CSDL

Sử dụng thủ tục lưu trữ hệ thống sp_changedbowner.

Bảng 7. 5: Các hàm hệ thống và thủ tục lưu trữ trong SQL Server 2005

      1. Hủy bỏ một CSDL

CSDL người dùng định nghĩa có thể được hủy bỏ khi nó không còn cần đến nữa. Các tập tin và dữ liệu kết hợp với CSDL này được tự động xóa bỏ từ đĩa khi CSDL bị xóa.

Cú pháp:

DROP DATABASE { database_name }

trong đó,

database_name: Tên của CSDL để hủy bỏ

Trong ví dụ 9 thực hiện việc xóa CSDL tên là SalesDB.

Ví dụ 9:

DROP DATABASE SalesDB;


    1. Bản chụp CSDL

Một bản chụp CSDL là khung nhìn tĩnh, chỉ đọc của một CSDL SQL Server. Bản chụp CSDL là một tính năng mới của Microsoft SQL Server 2005. Trong trường hợp một người dùng thực hiện một nhầm lẫn trong CSDL gốc, CSDL gốc này có thể được phục hồi về trạng thái trước đó khi bản chụp đã được tạo.

Cú pháp:

CREATE DATABASE database_snapshot_name

ON

(



NAME = logical_file_name,

FILENAME = ‘os_file_name’

) [ ,...n ]

AS SNAPSHOT OF source_database_name

[;]


Trong đó,

database_snapshot_name: Tên của bản chụp CSDL.

ON (NAME=logical_file_name, FILENAME=‘os_file_name’ ) [,...n]: Danh sách tập tin trong CSDL gốc. Để bản chụp làm việc, tất cả các tập tin dữ liệu phải riêng biệt.

AS SNAPSHOT OF source_database_name: CSDL được tạo là một bản chụp CSDL của CSDL gốc chỉ ra bởi source_database_name.

Trong ví dụ 10 thực hiện tạo một bản chụp CSDL cho CSDL CUST_DB.

Ví dụ 10:

CREATE DATABASE customer_snapshot01 ON

( NAME = Customer_DB, FILENAME = ‘c:\Customerdat_0100.ss’)

AS SNAPSHOT OF CUST_DB;


Chú ý: Việc tạo một bản chụp yêu cầu chỉ ra tên luận lý của mọi tập tin CSDL của CSDL gốc.

Thuận lợi và không thuận lợi của bản chụp CSDL là:

Thuận lợi:



  • Bản chụp cung cấp một thuận tiện, một bảng copy chỉ đọc của dữ liệu.

  • Khi một bản chụp được truy vấn, không làm giảm hiệu suất của đối tượng được quan sát.

  • Các tập tin dữ liệu của bản chụp là nhỏ và được tạo ra rất nhanh. Nó chỉ lớn khi CSDL là chủ thể thay đổi thường xuyên.

Không thuận lợi:

  • Bản sao của bản chụp không thể được tạo ra.

  • Bản chụp phải tồn tại trên cùng máy chủ CSDL cùng với CSDL gốc.

  • Một người sử dụng mới không thể được quyền truy cập vào dữ liệu trong bản chụp. Quyền được thừa kế từ CSDL gốc khi nó đã tồn tại tại thời điểm tạo ra bản chụp.



TÓM TẮT BÀI HỌC

  • SQL Server hỗ trợ tốt cho CSDL người dùng.

  • Các CSDL hệ thống được sử dụng để lưu trữ thông tin về SQL Server 2005, và quản lý các CSDL người dùng.

  • Các CSDL người dùng định nghĩa dùng để lưu trữ các thông tin của người sử dụng.

  • Các CSDL người dùng định nghĩa có thể được tạo ra bằng cách sử dụng câu lệnh CREATE DATABASE.

  • Nhóm tập tin của SQL Server 2005 gồm các tập tin dữ liệu.

  • Một vết giao dịch trong SQL Server 2005 lưu trữ tất cả các giao dịch và các thay đổi trong CSDL được tạo ra bởi mỗi phiên giao dịch.

  • Một bản chụp CSDL là chỉ đọc, là góc nhìn tĩnh của một CSDL gốc.

: files
files -> Sạt-đe rằng: Nầy là lời phán của Đấng có bảy vì thần Đức Chúa Trời và bảy ngôi sao
files -> HƯỚng dẫn càI ĐẶt và SỬ DỤng phần mềm tạo bài giảng e-learning
files -> VIỆn chăn nuôi trịnh hồng sơn khả NĂng sản xuất và giá trị giống của dòng lợN ĐỰc vcn03 luậN Án tiến sĩ NÔng nghiệp hà NỘI 2014
files -> ĐẠi học quốc gia hà NỘi trưỜng đẠi học khoa học tự nhiên nguyễn Thị Hương XÂy dựng quy trình quản lý CÁc công trìNH
files -> PHỤ LỤC 2 TỔng hợp danh mục tài liệu tham khảO
files -> BÁo cáo quy hoạch vùng sản xuất vải an toàn tỉnh bắc giang đẾn năM 2020 (Thuộc dự án nâng cao chất lượng, an toàn sản phẩm nông nghiệp và phát triển chương trình khí sinh học ) Cơ quan chủ trì
files -> BỘ TÀi nguyên và MÔi trưỜng
files -> 1. Mục tiêu đào tạo: Mục tiêu chung


1   ...   5   6   7   8   9   10   11   12   ...   15


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2019
được sử dụng cho việc quản lý

    Quê hương