Tiểu luận môn cơ sở dữ liệu nâng cao CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ SQL SERVER 2005 - Pdf 26

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
CHƯƠNG TRÌNH ĐÀO TẠO THẠC SỸ
________ ________
CƠ SỞ DỮ LIỆU NÂNG CAO
Đề tài:

CƠ SỞ DỮ LIỆU PHÂN TÁN
VÀ SQL SERVER 2005

Giảng viên hướng dẫn : PGS.TS. ĐỖ PHÚC
Học viên thực hiện : Lê Thị Xuân Diệu
Mã số : CH1101076
TP. HCM, năm 2012
1
MỤC LỤC
LỜI MỞ ĐẦU
Trong sự phát triển của xã hội ngày nay, công nghệ thông tin có một bước phát triển
mới và hàng ngày lượng thông tin dữ liệu tăng dần và trở thành một khối dữ liệu khổng lồ.
Với nhu cầu phát triển thì áp dụng cơ sở dữ liệu phân tán để đáp ứng được lượng dữ liệu
ngày càng lớn đó. Ví dụ ngày nay chúng ta thấy có rất nhiều ngân hàng phát triển và có xu
hướng mở chi nhánh tại các tỉnh thành vì thế cơ sở dữ liệu phân tán là rất phù hợp với xu
hướng hiện tại. Tại các chi nhánh có thể quản lý nhân viên thông tin của chi nhánh mình
nhưng cũng có một máy chủ, chi nhánh chính nắm bắt được tất cả các tình hình của các chi
nhánh con đó.
Trong bài tìm hiểu này với khoảng thời gian ngắn em xin giới thiệu tổng quát về cơ sở
dữ liệu phân tán và cơ sở dữ liệu phân tán trong SQL server 2005.
Em xin chân thành cảm ơn PGS.TS. Đỗ Phúc – Giảng viên môn học cơ sở dữ liệu
nâng cao đã truyền đạt những kiến thức vô cùng quý báu, xin chân thành cám ơn ban cố vấn
học tập và ban quản trị chương trình đào tạo thạc sĩ Công nghệ thông tin qua mạng của Đại
Học Quốc Gia TPHCM đã tạo điều kiện về tài liệu tham khảo để em có thể hoàn thành môn

SQL Server 2005 là thêm các dịch vụ mới như: dịch vụ báo cáo (reporting service), service
broker và sự thay đổi đáng kể trong cỗ máy cơ sở dữ liệu.
I.3.1 Các phiên bản SQL Server 2005
Trước khi đi vào các thành phần của SQL Server 2005, ta xét các phiên bản của SQL
Server 2005. SQL Server 2005 được sử dụng rộng rãi cho nhiều đối tượng khác nhau nên
Microsoft cung cấp nhiều phiên bản khác nhau cho phù hợp với các yêu cầu về chi phí, thời gian
thực hiện, của các tổ chức, cá nhân. Năm phiên bản của SQL Server 2005 là:
• Microsoft SQL Server 2005 Enterprise Edition
• Microsoft SQL Server 2005 Standard Edition
• Microsoft SQL Server 2005 Workgroup Edition
• Microsoft SQL Server 2005 Developer Edition
• Microsoft SQL Server 2005 Express Edition
Hầu hết các tổ chức đều chọn trong ba phiên bản SQL Server 2005
Enterprise Edition, SQL Server 2005 Standard Edition, và SQL Server 2005
Workgroup Edition. Các tổ chức chọn một trong ba phiên bản này với lý do là chỉ có các
phiên bản Enterprise, Standard, và Workgroup được cài đặt và sử dụng trong môi trường server
phục vụ cho hoạt động thực tế.
• SQL Server 2005 Enterprise Edition (32-bit và 64-bit)
Enterprise Edition được sử dụng trong các doanh nghiệp, tổ chức có các mức yêu cầu xử
lý giao dịch trực tuyến trên diện rộng (online transaction processing - OLTP), khả năng phân tích
dữ liệu phức tạp cao, hệ thống kho dữ liệu (data warehousing systems) và web sites. Enterprise
Edition phù hợp cho các tổ chức lớn và các yêu cầu phức tạp.
• SQL Server 2005 Standard Edition (32-bit và 64-bit)
Standard Edition là phiên bản phục vụ cho việc quản trị và phân tích dữ liệu phù hợp cho
các doanh nghiệp, tổ chức vừa và nhỏ. Nó bao gồm các giải pháp cần thiết cho thương mại điện
tử (e-commerce), kho dữ liệu (data warehousing) và dòng doanh nghiệp (line-of-business).
• SQL Server 2005 Workgroup Edition (32-bit only)
Workgroup Edition là giải pháp quản trị dữ liệu phù hợp cho các doanh nghiệp, tổ chức
nhỏ chỉ cần một cơ sở dữ liệu không giới hạn kích tthước hoặc số người sử dụng. Workgroup
Edition là lý tưởng cho các mức cơ sở dữ liệu tin cậy, mạnh mẽ và dễ quản trị.

server và client cho việc tạo quản lý và triển
khai báo cáo. Reporting services cũng là nền
tảng cho việc phát triển và xây dựng các ứng
dụng báo cáo
Notification services
Dịch vụ thông báo Notification services là
nền tảng cho sự phát triển và triển khai các
ứng dụng thông báo. Notification services ó
thể gửi thông báo đến hàng ngàn người đăng
ký sử dụng nhiều loại dịch vụ khác nhau.
Intergration Services
Intergration Services là tập hợp các công cụ
đồ họa và các đối tượng lập trình cho việc di
chuyển sao chép và chuyển đổi dữ liệu
Trang 6
HV: Lê Thị Xuân Diệu CH1101076
I.3.3 Các thành phần Client
Thành phần Client Chức năng
Connectivity Component
Là các thành phần cho việc truyền thông giữa
Client và Server, và các thư viện mạng như
DB- Library, ODBC, OLE DB
I.3.4 Các tính năng của SQL Server 2005
• Tính năng cơ bản
 Những cải tiến trong việc phân tích cơ sở dữ liệu: SQL Server 2005 giới
thiệu rất nhiều phương pháp cải tiến và các tính năng mới. Những cải tiến
và các tính năng bao gồm kết hợp với Microsoft. NET Framework, XML
mới công nghệ, cải tiến Transact-SQL, loại dữ liệu mới, và các cải tiến
cho các quy mô và tính khả dụng của các cơ sở dữ liệu quan hệ.
 Công cụ quản lý: SQL Server 2005 giới thiệu một bộ công cụ quản lý và

mới cũng như nâng cao những khã năng về lập trình như bổ sung kiểu dữ
liệu mới, kiểu dữ liệu XML và khác nữa.
I.3.5 Kiểu tập tin cơ sở dữ liệu
Trong SQL Server 2005, mỗi cơ sở dữ liệu được tổ chức trên nhiều tập tin hệ thống
Mỗi cơ sở dữ liệu có tập tin riêng
Dữ liệu và thông tin log được lưu trong file riêng rẽ
Có 3 loại tập tin cơ sở dữ liệu trong SQL Server gồm:
• Tập tin dữ liệu chính: Là điểm bắt đầu của cơ sở dữ liệu và các tập tin khác
trong cơ sở dữ liệu. Tập tin có phần mở rộng .mdf
• Tập tin dữ liệu thứ cấp: Chứa tất cả tập tin dữ liệu ngoại trừ tập tin dữ liệu
chính. Tập tin có phần mở rộng *.ndf
• Tập tin log: Chứa tất cả các thông tin log dùng để khôi phục cơ sở dữ liệu.
Phải có ít nhất một file log cho mỗi cơ sở dữ liệu. Tập tin có phần mở rộng là
.ldf
Trang 8
HV: Lê Thị Xuân Diệu CH1101076
Phần II. KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
II.1 Các khái niệm về cơ sở dữ liệu phân tán
- CSDL phân tán (Distributed DataBase - DDB) là một tập hợp nhiều CSDL có liên
đới logic và được phân bố trên một mạng máy tính. Trong khái niệm này có hai thuật ngữ
quan trọng trong các định nghĩa này là “liên đới logic” và “phân bố trên một mạng máy tính”.
- Liên đới logic: Toàn bộ dữ liệu của CSDL phân tán có một số các thuộc tính ràng
buộc chúng với nhau, điều này giúp chúng ta có thể phân biệt một CSDL phân tán với một tập
hợp CSDL cục bộ hoặc các tập tin lưu trữ tại các vị trí khác nhau trong một mạng máy tính.
- Phân bố trên một mạng máy tính: Toàn bộ dữ liệu của CSDL phân tán không được
lưu trữ ở một nơi mà lưu trữ trên nhiều trạm thuộc mạng máy tính, điều này giúp chúng ta
phân biệt CSDL phân tán với CSDL tập trung đơn lẻ.
- Hệ quản trị CSDL phân tán (Distributed Database Management System D-DBMS)
được định nghĩa là một hệ thống phần mềm cho phép quản lý các hệ CSDL phân tán và làm
cho sự phân tán trở nên “trong suốt” đối với người sử dụng.

- Các tổ chức có cấu trúc phân tán: Trong thực tế có nhiều tổ chức được phân tán khắp
nơi, trong khi đó, dữ liệu quản lý ngày càng lớn và phục vụ cho đa người dùng nằm phân tán,
vì vậy CSDL phân tán là con đường thích hợp với cấu trúc tự nhiên của các tổ chức đó.
- Cần kết nối các CSDL có sẵn: CSDL phân tán là giải pháp tự nhiên khi có các CSDL
đang tồn tại và sự cần thiết xây dựng một ứng dụng toàn cục. Trong trường hợp này CSDL
phân tán được tạo theo tiến trình từ dưới lên dựa trên nền tảng CSDL đang tồn tại. Tiến trình
này đòi hỏi phải tái cấu trúc các CSDL cục bộ ở một mức nhất định.
- Sự lớn mạnh của tổ chức: Các tổ chức có thể phát triển mở rộng bằng cách thành lập
thêm các đơn vị mới, vừa có tính tự trị, vừa có quan hệ với các đơn vị tổ chức khác.
- Giảm chi phí truyền thông: Tăng ứng dụng cục bộ làm giảm chi phí truyền thông.
- Nâng cao hiệu suất: Có cơ chế xử lý song song và phân mảnh dữ liệu theo ứng dụng
làm cực đại hóa tính cục bộ của ứng dụng.
Trang 11
HV: Lê Thị Xuân Diệu CH1101076
Các mức trong suốt phân tán
- Tăng độ tin cậy và tính sẵn sàng: Nếu có một thành phần nào đó của hệ thống bị
hỏng, hệ thống vẫn có thể duy trì hoạt động.
Phần III. CƠ SỞ DỮ LIỆU PHÂN TÁN TRONG SQL SERVER 2005
III.1 Framework quản lý phân tán SQL (SQL Distributed Management
Framework)
Framework quản lý phân tán SQL (SQL-DMF) là một framework tích hợp các đối
tượng, dịch vụ và các thành phần sử dụng để quản lý SQL Server. SQL-DMF cung cấp
một framework quản lý mềm dẽo và thích hợp, thích hợp với nhu cầu của một tổ chức. Nó
làm giảm yêu cầu cần thiết cho các tác vụ bảo trì chăm sóc của người sử dụng (như
backup dữ liệu và thông báo cảnh báo) bằng việc cung cấp các dịch vụ tương tác ngay lập
tức với SQL Server. Các thành phần khoá của SQL-DMF hỗ trợ quản lý các mẫu của SQL
Server trong mạng bằng cách cho phép định nghĩa:
- Tất cả đối tượng của SQL Server và phân quyền (permissions) của chúng.
- Lập lại các hành động việc quản trị để nắm bắt khoảng cách và thời gian.
- Hiệu chỉnh các hành động khi các điều kiện đặc biệt được phát hiện. Việc hiệu

COMMIT WORK, ROLLBACK TRANSACTION hay ROLLBACK WORK để
kết thúc giao tác.
• Đối với bất kỳ giao tác phân tán Transact-SQL thì Database Engine sẽ xử
lý kịch bản hoặc kết nối tự động để gọi MS DTC nhằm chuyển giao hay phục hồi
giao tác.
Có thể bắt đầu giao tác phân tán trong Transact-SQL bằng các cách sau:
Cú pháp:
BEGIN DISTRIBUTED TRANSACTION
[ transaction_name | @tran_name_variable ]
Các tham số:
transaction_name: Là một giao tác người dùng định nghĩa để theo dõi giao tác
phân tán bên trong tiện ích MS DTC. Transaction_name phải thích ứng với các quy luật
định danh nhưng chỉ 32 ký tự đầu tiên được sử dụng.
@tran_name_variable: Là tên của biến người dùng định nghĩa chứa tên một giao
tác dùng để theo dõi giao tác phân tán bên trong tiện ích của MS DTC. Biến phải được
khai báo với một trong các kiểu dữ liệu char, varchar, nchar, hoặc nvarchar.
Phân quyền
Trang 14
HV: Lê Thị Xuân Diệu CH1101076
BEGIN DISTRIBUTED TRANSACTION phân quyền mặc định đến các người dùng hợp
lệ.
III.3 Liên kết SQL bằng thủ tục hệ thống
Liên kết các máy chủ SQL Server cung cấp khả năng truy cập dữ liệu từ các nguồn
dữ liệu từ xa. Bằng cách sử dụng các cơ chế chúng ta có thể truy cập, thực hiện các thao
tác sửa đổi, bổ sung dữ liệu và thực hiện các thủ tục từ xa. Có thể sử dụng lệnh Transact-
SQL với chức năng OPENROWSET để truy vấn một nguồn dữ liệu từ xa mà không cần
một linked server.
Để tạo liên kết server bằng thủ tục hệ thống chúng ta sử dụng thủ tục có tên
sp_addlinkedserver với cú pháp như sau:
Sp_adlinkedserver [@server=] ‘server’

Trong đó, tham số:
[@rmtsrvname=] ‘rmtsrvname’: Tên máy chủ liên kết.
[@useself=] ‘useself’: Khi giá trị thật sự được sử dụng, các SQL cục bộ đăng nhập
được sử dụng để kết nối vào tên máy chủ từ xa. Nếu giá trị chưa sử dụng thì các tham số
locallogin, rmtuser và rmtpassword của thủ tục sp_addlinkedsrvlogin sẽ được áp dụng vào
việc lập một ánh xạ mới.
[@locallogin=] ‘locallogin’: Tên đăng nhập. Nếu tham số này là rỗng thì việc thiết
lập ánh xạ sẽ được áp dụng cho tất cả các tên đăng nhập.
[@rmtuser=] ‘rmtuser’: Tên của người dùng từ xa.
[@rmtpassword=] ‘rmtpassword’: Mật khẩu của người dùng từ xa.
Chú ý bảo mật: Khi kết nối đến một nguồn dữ liệu khác, SQL Server đóng vai trò đăng
nhập hợp lý cho Windows xác thực của các đăng nhập; Tuy nhiên, SQL Server không thể
Trang 16
HV: Lê Thị Xuân Diệu CH1101076
đóng vai trò cho Windows xác thực các đăng nhập. Do đó, với SQL Server xác thực các
đăng nhập, SQL Server có thể truy xuất nguồn dữ liệu khác như là các file hoặc các nguồn
dữ liệu không quan hệ như Active Directory, bằng cách sử dụng các ngữ cảnh bảo mật của
tài khoản trong Windows cấp dưới mà dịch vụ SQL Server đang chạy. Để làm điều này có
khả năng đưa đăng nhập truy xuất đến các nguồn dữ liệu khác mà chúng không có phân
quyền, nhưng các tài khoản dưới của dịch vụ SQL Server đang chạy không được phân
quyền. Khả năng này nên được cân nhắc kỹ khi truy xuất đến một SQL Server xác thực
đăng nhập đến một máy chủ liên kết bằng cách sử dụng thủ tục sp_addlinkedsrvlogin.
III.4 Truy vấn phân tán
Các câu truy vấn phân tán truy xuất dữ liệu từ nhiều nguồn dữ liệu hỗn tạp (không
đồng nhất). Những nguồn dữ liệu có thể được lưu trữ trong cùng hoặc các máy tính khác.
Microsoft SQL Server 2005R2 hỗ trợ các câu truy vấn phân tán bằng cách sử dụng OLE
DB. Với những thông tin về những tính năng mới và nâng cao cho các câu truy vấn phân
tán. Người sử dụng SQL Server có thể sử dụng các câu truy vấn phân tán để truy xuất như
sau:
• Dữ liệu phân tán được lưu trữ trong nhiều mẫu cài đặt của SQL Server.

@datasrc:
Trang 18
HV: Lê Thị Xuân Diệu CH1101076
sp_addlinkedserver @server = ' VCB_TPHCM /BANK _1', @provider =
'SQLOLEDB',@datasource = ‘VCB_TPHCM /BANK’
+ Chỉ định một liên kết server trong một mẫu cài đặt của SQL Server sử dụng
INSTANCENAME trong một chuổi “provider”:
sp_addlinkedserver @server = ' VCB_TPHCM/BANK_2', @provider =
'SQLOLEDB', @provstr = 'Server=VCB_TPHCM;INSTANCENAME=BANK'
+ Chỉ định một mẫu cài đặt của SQL Server trong OPEN DATASOURCE sử dụng Data
Source:
SELECT *
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=VCB_TPHCM/BANK;User ID=sa;Password=123'
).Northwind.dbo.Categories
+ Chỉ định một mẫu cài đặt của SQL Server trong OPENROWSET sử dụng một chuổi
người cung cấp (provider):
SELECT a.*
FROM OPENROWSET(
'SQLOLEDB',
'Data Source= VCB_TPHCM;INSTANCENAME=BANK;
User ID=sa;Password=123',
Northwind.dbo.Categories
) AS a
+ Chỉ định một mẫu cài đặt của SQL Server trong OPENROWSET sử dụng một tham số
của nguồn dữ liệu (datasource):
SELECT a.*
FROM OPENROWSET(
Trang 19

Thủ tục bảo quản hệ thống (system stored procedures) sp_addlinkedserver và
sp_addlinkedsrvlogin được sử dụng để đưa một tên máy chủ đến một dữ liệu nguồn OLE
DB. Các đối tượng trong các máy chủ liên kết có thể được tham chiếu trong các câu lệnh
Transact-SQL sử dụng bốn thành phần.
Ví dụ: Nếu một máy chủ liên kết tên là BANK được định nghĩa dựa vào một mẫu
cài đặt khác của SQL Server 2005, câu lệnh sau tham chiếu một bảng trong máy chủ đó.
SELECT HoTenNV , CongViec
FROM BANK.DB_NHANSU.QLNS.NHANVIEN
Tên máy chủ liên kết cũng có thể được chỉ định trong một câu lệnh OPENQUERY
để mở một rowset từ dữ liệu nguồn OLE DB. Rowset này có thể tham chiếu như là một
bảng dữ liệu trong câu lệnh Transact-SQL.
• Tên bộ nối Ad hoc (Ad hoc connector names)
Để ít xảy ra các tham chiếu đến một dữ liệu nguồn, các chức năng OPENROWSET
hoặc OPENDATASOURCE được chỉ định với các thông tin cần thiết để kết nối đến máy
chủ liên kết. Rowset có thể được tham chiếu như cách một bảng được tham chiếu trong
câu lệnh Transact-SQL.
Ví dụ:
SELECT *
Trang 21
HV: Lê Thị Xuân Diệu CH1101076
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:\MSOffice\Access\Samples\Northwind.mdb';'Admin';'';
Employees)
Những người dùng SQL Server liên lạc giữa máy quan hệ và máy lưu trữ. Máy
quan hệ ngắt xuống từng câu lệnh Transact-SQL vào một khối các hoạt động trong các
rowset OLE DB đơn được mở bởi máy lưu trữ từ các bảng dữ liệu cơ sở. Nghĩa là máy
quan hệ cũng có thể mở các rowset OLE DB đơn trong một vài dữ liệu nguồn OLE DB.
Máy quan hệ sử dụng các giao diện lập trình ứng dụng (API) OLE DB để mở các
rowset trong các máy chủ liên kết, tìm nạp từng dòng và quản lý các giao tác (transaction).
Mỗi dữ liệu nguồn OLE DB truy xuất như một máy chủ liên kết, một nguồn cung cấp

SQL Server truy vấn OLE DB quyết định mức của ngữ pháp của SQL mà nó hỗ trợ, và
trên cơ sở các thông tin đó, việc đẩy như là nhiều thao tác quan hệ có thể thực hiện được
đến nguồn cung cấp.
SQL Server 2005 chỉ rỏ một máy cho một nguồn cung cấp OLE DB để trả lại các
trạng thái biểu thị các giá trị khoá ra sao được phân tán bên trong nguồn dữ liệu OLE DB.
Điều này đặt ra cho tối ưu truy vấn SQL Server cao hơn phân tích kiểu dữ liệu trong
nguồn dữ liệu dựa vào các yêu cầu của mỗi câu lệnh SQL, làm tăng thêm khả năng tối ưu
truy vấn để tạo ra các kế hoạch thực thi tối ưu.
Trang 23
HV: Lê Thị Xuân Diệu CH1101076
III.7 Ánh xạ các kiểu dữ liệu trong câu truy vấn phân tán
Một nguồn cung cấp OLE DB đưa các kiểu dữ liệu của nó vào trong các điều khoản
của định danh kiểu của OLE DB được gọi là DBTYPEs. Các kiểu dữ liệu được chuyển
đổi giữa các kiểu dữ liệu OLE DB và các kiểu dữ hệ thống của SQL Server bằng ánh xạ
dữ liệu:
• Từ các kiểu dữ liệu của OLE DB đến các kiểu dữ liệu của SQL Server. Sự chuyển
đổi này xuất hiện khi SQL Server đọc dữ liệu từ nguồn dữ liệu của OLE DB. Cả
trong các câu lệnh SELECT hoặc việc đọc bên cạnh các câu lệnh UPDATE,
INSERT, hoặc DELETE.
Từ các kiểu dữ liệu của SQL Server đến các kiểu dữ liệu của OLE DB. Sự chuyển đổi này
xuất hiện khi SQL Server viết dữ liệu, hầu như trong các câu lệnh INSERT hoặc
UPDATE, trong nguồn dữ liệu OLE DB mà sửa đổi các bảng là bảng từ xa.
III.8 Tùy chọn để định nghĩa liên kết máy chủ
Các tuỳ chọn liên kết máy chủ được định nghĩa bằng sử dụng điều khiển
sp_serveroption và cách SQL Server sử dụng đối chiếu từ các máy chủ liên kết:
• Sử dụng sự tham chiếu từ xa (use remote collation) mục chọn này chỉ định sự tham
chiếu một cột từ xa hoặc một máy chủ địa phương sẽ được sử dụng. Khi true, sự
tham chiếu các cột được sử dụng cho các nguồn dữ liệu SQL Server, và sự tham
chiếu được chỉ định trong collation name được sử dụng cho các nguồn dữ liệu. Khi
false các câu truy vấn phân tán luôn luôn sử dụng các tham chiếu mặc định của máy

Mặt định tham chiếu mẫu cài đặt cục bộ của
SQL Server.
CollX
Bảng sau tổng hợp cách mà SQL Server xác định tham chiếu mà được sử dụng cho
mỗi cột khi mà use remote collation được thiết lập là False (hoặc Off).
Kiểu
Linked
server
Tên tham chiếu không thiết lập Tên tham chiếu thiết lập (đến CollX)
SQL Server
Mặt định tham chiếu mẫu cài đặt cục
bộ của SQL Server
Mặt định tham chiếu mẫu cài đặt cục
bộ của SQL Server
Others
Mặt định tham chiếu mẫu cài đặt cục
bộ của SQL Server
Mặt định tham chiếu mẫu cài đặt cục
bộ của SQL Server
III.9 Những điều lưu ý của Máy chủ liên kết trong một nhóm SQL Server (Clustered
SQL Server)
Với SQL Server 2005, chắc chắn rằng các nguồn cung cấp OLE DB được cài đặt
trong tất cả các nút (node) của nhóm (cluster). Ngoài ra, một vài nguồn cung cấp mà được
Trang 25
HV: Lê Thị Xuân Diệu CH1101076


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status