1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ quản trị cơ sở dữ liệu: Hướng dẫn thực hành

180 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Trang 1

TS TRỊNH HOÀNG NAM (chủ biên)

ThS PHẠM THANH AN – ThS TRẦN DOÃN HIẾU

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

HƯỚNG DẪN THỰC HÀNH

TP Hồ Chí Minh – 2022

Trang 2

LỜI MỞ ĐẦU

Trang 3

1.2 Kiến trúc hệ cơ sở dữ liệu 2

1.3 Lịch sử phát triển của hệ quản trị cơ sở dữ liệu 2

1.4 Các chức năng của hệ quản trị cơ sở dữ liệu 4

1.5 Cấu trúc tổng thể của hệ quản trị cơ sở dữ liệu 4

1.6 Các xu hướng mới về hệ quản trị cơ sở dữ liệu 5

1.7 Câu hỏi ôn tập 6

CHƯƠNG 2: Tổng quan hệ quản trị Microsoft SQL Server 7

2.1 Lịch sử phát triển Hệ quản trị Microsoft SQL Server 7

2.2 Cài đặt SQL Server 11

2.3 Kiến trúc SQL Server 15

2.4 Các công cụ quản trị SQL Server 19

2.5 Quản lý máy chủ SQL Server 21

2.6 Các danh mục trong SQL Server 31

2.7 Câu hỏi ôn tập 33

CHƯƠNG 3: Quản trị vận hành cơ sở dữ liệu 34

3.1 Tạo và cấu hình cơ sở dữ liệu 34

3.2 Giao dịch dữ liệu 44

3.3 Sao lưu, phục hồi dữ liệu 49

3.4 Tự động hóa các tác vụ quản trị 68

3.5 Giám sát hiệu suất 88

3.6 Bài tập có lời giải 100

3.7 Bài tập rèn luyện 104

3.8 Câu hỏi ôn tập 104

Trang 4

CHƯƠNG 4: Quản trị thành phần cơ sở dữ liệu 105

4.1 Các thành phần lưu trữ 105

4.2 Các thành phần xử lý 116

4.3 Bài tập có lời giải 131

4.4 Bài tập rèn luyện 135

4.5 Câu hỏi ôn tập 136

CHƯƠNG 5: Quản trị người dùng cơ sở dữ liệu 137

5.1 Quyền đăng nhập hệ thống 137

5.2 Quyền truy xuất dữ liệu 141

5.3 Tạo và quản lý việc đăng nhập 144

Trang 5

DANH MỤC TỪ VIẾT TẮT

CNTT Công nghệ thông tin Information technology CPU Đơn vị xử lý trung tâm Central processing unit CSDL Cơ sở dữ liệu Database

DBE Máy cơ sở dữ liệu Database engine

DBMS Hệ quản trị cơ sở dữ liệu Database management system DCL Ngôn ngữ điều khiển dữ liệu Data controlling language DDL Ngôn ngữ định nghĩa dữ liệu Data definition language DML Ngôn ngữ thao tác dữ liệu Data manipulation language DQC Trình khách chất lượng dữ liệu Data Quality Client

DQS Trình chủ chất lượng dữ liệu Data Quality Server DTA Trình phân tích câu lệnh Data Tuning Advisor ID Định danh Identifier

KB Cơ sở tri thức Knowledge base

RAM Bộ nhớ truy xuất ngẫu nhiên Random access memory SQL Ngôn ngữ truy vấn có cấu trúc Structured query language SQLOS Hệ điều hành SQL SQL Operating system

SSCM Công cụ cấu hình SQL Server SQL Server configuration management SSDT Công cụ dữ liệu SQL Server SQL Server Data Tools

SSMS Công cụ quản trị SQL Server SQL Server management studio

Trang 6

DANH MỤC BẢNG BIỂU

Bảng 2.1 So sánh các phiên bản khác nhau của SQL Server 11

Bảng 2.2 Phiên bản và giá trị phiên bản được sử dụng trong ID 14

Bảng 2.3 Một số danh mục hệ thống 32

Bảng 3.1 Một số thủ tục hệ thống 99

Bảng 3.2 Một số câu lệnh DBCC 99

Bảng 5.1 Các vai trò cấp máy chủ cố định và khả năng của chúng 141

Bảng 5.2 Các vai trò cấp CSDL cố định và khả năng của chúng 142

Bảng 5.3 Các quyền đối với đối tượng dữ liệu và khả năng của chúng 143

Bảng 5.4 Các thủ tục và câu lệnh đối với vai trò cấp máy chủ 163

Bảng 5.5 Các thủ tục và câu lệnh đối với vai trò cấp CSDL 163

Trang 7

DANH MỤC HÌNH ẢNH

Hình 1.1 Cấu trúc tổng thể của Hệ quản trị CSDL 5

Hình 2.1 Kiến trúc của MS SQL Server 16

Hình 2.2 - 2.4 Kết nối tới dịch vụ SQL Server 22

Hình 2.6 - 2.14 Thiết lập kết nối từ xa 24

Hình 2.15 - 2.18 Kết nối máy chủ SQL Server 29

Hình 3.1 - 3.4 Tạo cơ sở dữ liệu với SSMS 35

Hình 3.5 - 3.8 Thay đổi cấu hình cơ sở dữ liệu với SSMS 38

Hình 3.9 - 3.12 Xóa cơ sở dữ liệu với SSMS 41

Hình 3.13 Giao dịch dữ liệu 44

Hình 3.14 Các trạng thái của giao dịch 46

Hình 3.15 - 3.18 Sao lưu cơ sở dữ liệu với SSMS 58

Hình 3.19 - 3.23 Phục hồi cơ sở dữ liệu với SSMS 61

Hình 3.24 - 3.49 Tự động hóa các tác vụ quản trị 71

Hình 3.50 - 3.63 Giám sát hiệu suất 92

Hình 5.1 Mô hình bảo mật CSDL 137

Hình 5.2 - 5.6 Chế độ xác thực của SQL Server 138

Hình 5.7 - 5.13 Quản lý login với SSMS 144

Hình 5.14 - 5.17 Quản lý user với SSMS 151

Hình 5.18 - 5.28 Quản lý vai trò với SSMS 155

Hình 5.29 - 5.34 Quản lý quyền với SSMS 166

Trang 8

CHƯƠNG 1

TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 1.1 Một số khái niệm

1.1.1 Cơ sở dữ liệu

Dữ liệu là những sự kiện có thể ghi lại được, và thường không có ý nghĩa Dữ liệu

được gọi là thông tin sau khi được người sử dụng xử lý trong một ngữ cảnh cụ thể để trở nên có ý nghĩa

Cơ sở dữ liệu (CSDL) là tập hợp các dữ liệu có mối liên hệ với nhau về mặt ý

nghĩa, được lưu trữ trên các thiết bị thứ cấp để thỏa mãn nhu cầu khai thác thông tin của nhiều người sử dụng hoặc nhiều chương trình ứng dụng

1.1.2 Góc nhìn dữ liệu

Tính hiệu quả của hệ thống đòi hỏi phải thiết kế các cấu trúc dữ liệu phức tạp để biểu diễn dữ liệu trong CSDL Các nhà phát triển che dấu sự phức tạp này thông qua các mức trừu tượng nhằm đơn giản hóa sự trao đổi của người sử dụng với hệ thống:

- Mức vật lý: Mô tả cách thức lưu trữ dữ liệu trong thiết bị thứ cấp

- Mức ngữ nghĩa: Mô tả cách tổ chức dữ liệu trong CSDL và các mối liên hệ giữa

các dữ liệu với nhau

- Mức khung nhìn: Mô tả chỉ một phần của CSDL theo góc nhìn hay nhu cầu của

người sử dụng

1.1.3 Mô hình dữ liệu

Mô hình kiến trúc ba mức của hệ CSDL bao gồm:

Mô hình mức ngoài được dùng để mô tả dữ liệu ở mức luận lý và mức khung nhìn

Chúng cung cấp khả năng cấu trúc linh hoạt và cho phép các ràng buộc dữ liệu được xác định một cách tường minh

Mô hình mức khái niệm được dùng để mô tả dữ liệu ở mức luận lý hay mức khung

nhìn Chúng được dùng để xác định cấu trúc luận lý tổng thể CSDL và cung cấp sự mô tả chi tiết cấu trúc của dữ liệu

Trang 9

Mô hình mức trong được dùng để mô tả dữ liệu ở mức thấp nhất Hai mô hình dữ

liệu vật lý được biết rộng rãi nhất là mô hình hợp nhất (unifying model) và mô hình bộ nhớ (frame-memory model )

khung-1.1.4 Ngôn ngữ dữ liệu

Ngôn ngữ định nghĩa dữ liệu (data definition language) là loại ngôn ngữ được sử

dụng để định nghĩa cấu trúc của các thành phần trong CSDL

Ngôn ngữ thao tác dữ liệu (data manipulation language ) là loại ngôn ngữ được sử

dụng để thực hiện các thao tác như thu thập, chèn, sửa, và xóa dữ liệu

Ngôn ngữ điều khiển dữ liệu (data controlling language) là loại ngôn ngữ được sử

dụng để để thực hiện các khai báo bảo mật thông tin và cấp quyền hạn khai thác CSDL cho những người sử dụng khác trong hệ thống

1.2 Kiến trúc hệ cơ sở dữ liệu

Kiến trúc hệ CSDL bị ảnh hưởng nhiều bởi hệ thống máy tính cài đặt chúng Ba loại kiến trúc phổ biến là kiến trúc khách – chủ, song song và phân tán

- Kiến trúc khách chủ (client – server) cho phép thực hiện một số công việc trên một hệ thống các máy chủ (server), một số công việc trên các máy trạm (client)

- Kiến trúc song song cho phép thực hiện cùng lúc nhiều truy vấn dữ liệu, qua đó làm tăng tốc độ các hoạt động của hệ CSDL, phản hồi các giao dịch nhanh hơn

- Kiến trúc phân tán được phát triển để quản lý dữ liệu phân tán, trên phương diện địa lý hay quản trị, trải rộng trên nhiều hệ CSDL

1.3 Lịch sử phát triển của hệ quản trị cơ sở dữ liệu

Trong gần 50 năm, hệ quản trị CSDL đã trải qua nhiều giai đoạn phát triển

Giai đoạn đầu những năm 1960 (giai đoạn tiền CSDL – hệ thống hướng tập tin)

Dữ liệu được tổ chức lưu trữ trên các tập tin và được xử lý thông qua ngôn ngữ lập trình thế hệ thứ ba (ngôn ngữ bậc cao) như COBOL, BASIC Mỗi chương trình máy tính hay ứng dụng phần mềm làm việc với dữ liệu của riêng mình Do đó, sự trùng lặp dữ liệu, không chia sẻ, khó khăn trong việc nâng cấp là đặc điểm chung của các hệ thống hướng tập tin Giai đoạn này chưa có sự hiện diện của các hệ quản trị CSDL

Trang 10

Giai đoạn 1968 – 1980 ghi nhận sự xuất hiện của hệ quản trị CSDL đầu tiên của

công ty IBM mang tên IMS, trong đó sử dụng mô hình CSDL phân cấp Bên cạnh đó, phần mềm IDMS, hệ quản trị CSDL với mô hình CSDL mạng CODASYL, cũng được sử dụng phổ biến trong giai đoạn này Hạn chế cơ bản của các hệ quản trị CSDL này, cũng là hạn chế của hai mô hình CSDL nói trên, là người sử dụng, đội ngũ phát triển ứng dụng, phải nắm vững cấu trúc vật lý của CSDL với có thể truy xuất được thông tin

Giai đoạn 1970 đến nay (giai đoạn CSDL quan hệ - relational database) Người đặt

nền tảng cho mô hình dữ liệu quan hệ là E.F Codd (1972) khi đề xuất tách tổ chức logic của CSDL khỏi các phương pháp lưu trữ vật lý Quan điểm này cho đến nay vẫn được đánh giá là đúng đắn và nhận được sự quan tâm phát triển trong suốt thời gian qua Đi tiên phong trong lĩnh vực CSDL, vào đầu những năm 1980, IBM giới thiệu hệ quản trị CSDL DB2, một trong những sản phẩm cốt lõi của IBM từ khi xuất hiện cho đến nay Sự bùng nổ của công nghệ thông tin là động lực thúc đẩy sự phát triển của hàng loạt hãng sản xuất phần mềm quản trị CSDL như Oracle, PARADOX, OS/2 Database Manager, DBase, FoxBase, FoxPro (Visual FoxPro), Sysbase, Informix, Sự xuất hiện của mô hình clien – server trong tính toán vào đầu những năm 1990 trở thành chuẩn mực cho việc phát triển hệ thống thông tin với ngôn ngữ lập trình hướng đối tượng Điều này thúc đẩy sự ra đời của dòng hệ quản trị CSDL hướng đối tượng (Object Database Management System – ODBMS) Từ giữa những năm 1990, Internet ra đời và thúc đẩy thị trường ứng dụng Web kết nối CSDL tăng trưởng mạnh mẽ Nhiều hệ quản trị CSDL mã nguồn mở xuất hiện trong giai đoạn này, tiêu biểu là MySQL và ProgreSQL

Giai đoạn 2000 đến nay (giai đoạn CSDL phi quan hệ - nonrelational database)

Trong bối cảnh các ứng dụng dựa trên Web phải luôn trực tuyến, và phải hỗ trợ một số lượng lớn các hoạt động đồng thời, việc duy trì một hệ quản trị CSDL theo mô hình quan hệ là không phù hợp Đồng thời, người ta cho rằng quá tốn kém để vận hành một hệ quản trị CSDL đầy đủ tính năng như Oracle, SQLServer, DB2 hay MySQL chỉ để quản lý một kho dữ liệu Tương tự, việc sử dụng SQL là quá mức cần thiết cho các yêu cầu tra cứu dữ liệu đơn giản Kết quả là sự ra đời của mô hình dữ liệu NoSQL Các hệ quản trị CSDL sử dụng mô hình dữ liệu NoSQL tiêu biểu là MongoDB, Apache Cassandra, và Redis

Trang 11

1.4 Các chức năng của hệ quản trị cơ sở dữ liệu

Hệ quản trị CSDL là một gói phần mềm có chức năng xác định, thao tác, truy xuất, quản lý toàn bộ dữ liệu trong CSDL Các chức năng chính của hệ quản trị CSDL bao gồm:

- Định nghĩa dữ liệu: Cung cấp khả năng định nghĩa dữ liệu, các cấu trúc lưu trữ và

tổ chức dữ liệu cũng như mối liên hệ giữa các thành phần dữ liệu

- Truy xuất và thao tác dữ liệu: Cho phép thực hiện các thao tác truy xuất, bổ sung

và cập nhật dữ liệu

- Điều khiển truy cập: Cấp phát và kiểm soát các thao tác của người sử dụng dữ liệu,

đảm bảo an toàn cho dữ liệu

- Đảm bảo toàn vẹn dữ liệu: Cung cấp các công cụ để đảm bảo tính hợp lệ và chính

xác của dữ liệu trước thao tác cập nhật cũng như các lỗi của hệ thống 1.5 Cấu trúc tổng thể của hệ quản trị cơ sở dữ liệu

Cấu trúc tổng thể của một hệ quản trị CSDL được phác họa trong Hình 1.1 với các

- Bộ xử lý truy vấn: Thực hiện điều khiển không chỉ các câu hỏi mà cả các yêu cầu

thay đổi dữ liệu hay siêu dữ liệu nhằm tìm ra cách tốt nhất để thực hiện một thao tác

- Bộ quản lý giao dịch: Đảm bảo tính nguyên tố, tính nhất quá, tính biệt lập và tính

duy trì xuyên suốt trong quá trình thao tác đối với dữ liệu

- Thao tác của người dùng: Hệ quản trị CSDL đáp ứng các thao tác sau đây từ phía

người sử dụng:

o Truy vấn dữ liệu: hỏi đáp về dữ liệu lưu trữ, được tạo ra theo giao diện truy

vấn hoặc qua giao diện chương trình ứng dụng

o Cập nhật dữ liệu: thao tác thay đổi dữ liệu như thêm, sửa, xoá dữ liệu lưu

trữ, được tạo ra theo hai cách như trên

Trang 12

o Thay đổi lược đồ: thao tác thay đổi cấu trúc logic của dữ liệu, được tạo ra bởi

nhân viên thiết kế (trong quá trình phát triển ứng dụng) hoặc nhân viên quản trị (trong quá trình khai thác ứng dụng)

Hình 1.1 Cấu trúc tổng thể của Hệ quản trị CSDL 1.6 Các xu hướng mới về hệ quản trị cơ sở dữ liệu

Các khái niệm trong quản trị CSDL hầu như không thuộc về loại thay đổi dễ dàng, do chi phí chuyển đổi giữa các phương pháp tiếp cận công nghệ sẽ áp đảo các nhà sản xuất, quản lý và thiết kế Tuy nhiên, có một số xu hướng trong quản trị CSDL và biết cách tận dụng chúng sẽ mang lại lợi ích cho tổ chức Sau đây là một số xu hướng hiện tại:

CSDL kết nối SQL/NoSQL Xu hướng mới nhất trong các sản phẩm CSDL là các

sản phẩm không chỉ bao gồm một cấu trúc CSDL duy nhất Thay vào đó, CSDL kết nối SQL và NoSQL được kết hợp nhằm mang lại cho người dùng những khả năng tốt nhất được cung cấp bởi cả hai Các sản phẩm loại này cho phép người dùng truy cập CSDL NoSQL theo cách tương tự như CSDL quan hệ

CSDL trên đám mây/nền tảng như là dịch vụ Khi các nhà phát triển tiếp tục thúc

đẩy các doanh nghiệp của họ lên đám mây, các tổ chức đang cân nhắc cẩn thận giữa sự cân bằng giữa công khai và riêng tư Các nhà phát triển cũng đang xác định cách kết hợp các dịch vụ đám mây với các ứng dụng và cơ sở hạ tầng hiện có Các nhà cung cấp dịch vụ đám mây đưa ra nhiều tùy chọn cho người quản trị CSDL Tiến tới đám mây không có

Trang 13

nghĩa là thay đổi các ưu tiên của tổ chức mà là tìm kiếm các sản phẩm và dịch vụ giúp nhóm các tổ chức đạt được mục tiêu

Tự động hóa trong việc quản trị Tự động hóa quản trị CSDL là một xu hướng

mới nổi khác Tập hợp các kỹ thuật và công cụ nhằm mục đích đơn giản hóa việc bảo trì, vá lỗi, cung cấp, cập nhật và nâng cấp - ngay cả quy trình làm việc của dự án Tuy nhiên, xu hướng này có thể có giới hạn về tính hữu ích vì các rủi ro thường không dự kiến trước và việc khắc phục thường cần sự can thiệp của con người

Tăng cường tập trung vào bảo mật Mặc dù không phải là một xu hướng chính

xác với sự tập trung liên tục vào bảo mật dữ liệu, nhưng các vụ vi phạm CSDL bán lẻ đang diễn ra gần đây cho thấy tầm quan trọng của việc quản trị viên CSDL hợp tác với các đồng nghiệp bảo mật công nghệ thông tin để đảm bảo tất cả dữ liệu doanh nghiệp vẫn còn an toàn Bất kỳ tổ chức nào lưu trữ dữ liệu đều dễ bị tấn công Quản trị viên CSDL cũng phải làm việc với nhóm bảo mật để loại bỏ các điểm yếu tiềm ẩn bên trong có thể khiến dữ liệu dễ bị tấn công Chúng có thể bao gồm các vấn đề liên quan đến đặc quyền mạng, thậm chí cả cấu hình sai phần cứng hoặc phần mềm có thể bị sử dụng sai, dẫn đến rò rỉ dữ liệu

Dữ liệu lớn Dữ liệu lớn không nhất thiết có nghĩa là nhiều dữ liệu Những gì nó

thực sự đề cập đến là khả năng xử lý bất kỳ loại dữ liệu nào: những gì thường được gọi là dữ liệu bán cấu trúc và phi cấu trúc cũng như dữ liệu có cấu trúc Suy nghĩ hiện tại là những giải pháp này thường sẽ tồn tại cùng với các giải pháp thông thường như các công nghệ riêng biệt, ít nhất là trong các tổ chức lớn, nhưng điều này sẽ không luôn đúng như vậy 1.7 Câu hỏi ôn tập

1- Trình bày khái niệm Hệ CSDL, góc nhìn, mô hình và ngôn ngữ dữ liệu 2- Trình bày các kiến trúc Hệ CSDL

3- Trình bày lịch sử phát triển của Hệ quản trị CSDL 4- Trình bày các chức năng chính của Hệ quản trị CSDL 5- Trình bày cấu trúc tổng thể của Hệ quản trị CSDL 6- Trình bày một số xu hướng mới về Hệ quản trị CSDL

Trang 14

CHƯƠNG 2

TỔNG QUAN VỀ HỆ QUẢN TRỊ MS SQL SERVER 2.1 Lịch sử phát triển Hệ quản trị Microsoft SQL Server

Sự bắt đầu Giữa năm 1988, Microsoft kết hợp với Ashton-Tate và Sybase tạo ra

một biến thể của Sybase SQL Server cho IBM OS/2 Đây là phiên bản đầu tiên của Microsoft SQL Server và là bước gia nhập thị trường CSDL cấp doanh nghiệp của Microsoft, cạnh tranh với Oracle, IBM, Informix, Ingres và sau đó là Sybase SQL Server 4.2 được xuất xưởng vào năm 1992, đi kèm với OS/2 phiên bản 1.3, tiếp theo là phiên bản 4.21 dành cho Windows NT, được phát hành cùng với Windows NT 3.1 Sau đó, SQL Server 6.0 là phiên bản đầu tiên được thiết kế cho Windows NT và không bao gồm bất kỳ hướng dẫn nào từ Sybase Vào ngày 12 tháng 6 năm 1988, Microsoft kết hợp với Ashton-Tate và Sybase để tạo ra một biến thể của Sybase SQL Server cho IBM OS / 2 (sau đó được phát triển chung với Microsoft), được phát hành vào năm sau [1] Đây là phiên bản đầu tiên của Microsoft SQL Server và đóng vai trò là bước gia nhập thị trường CSDL cấp doanh nghiệp của Microsoft, cạnh tranh với Oracle, IBM, Informix, Ingres và sau đó là Sybase SQL Server 4.2 được xuất xưởng vào năm 1992, đi kèm với OS / 2 phiên bản 1.3, tiếp theo là phiên bản 4.21 dành cho Windows NT, được phát hành cùng với Windows NT 3.1 SQL Server 6.0 là phiên bản đầu tiên được thiết kế cho NT và không bao gồm bất kỳ hướng dẫn nào từ Sybase Giữa năm 1993, Sybase và Microsoft đã chia tay nhau và mỗi người theo đuổi các kế hoạch thiết kế và tiếp thị của riêng mình Microsoft đã thương lượng độc quyền đối với tất cả các phiên bản SQL Server được viết cho hệ điều hành của Microsoft Cho đến năm 1994, SQL Server của Microsoft đã mang ba thông báo bản quyền Sybase như một dấu hiệu về nguồn gốc của nó

SQL Server 7.0 là một bản viết lại lớn sử dụng ngôn ngữ lập trình C++ trên cơ sở

máy Sybase vốn được phát triển bằng ngôn ngữ lập trình C Các trang dữ liệu được phóng to từ 2 KB đến 8 KB Cơ chế lập lịch người dùng (User Mode Scheduling - UMS) được giới thiệu để xử lý các luồng SQL Server tốt hơn so với cơ chế xử lý của hệ điều hành Windows lúc bấy giờ SQL Server 7.0 cũng giới thiệu một sản phẩm CSDL đa chiều gọi

Trang 15

là Dịch vụ SQL OLAP SQL Server 7.0 đã hết được hỗ trợ chính kết thúc vào ngày 31 tháng 12 năm 2005

SQL Server 2000 bao gồm nhiều sửa đổi và mở rộng hơn cho cơ sở mã Sybase, bổ

sung hỗ trợ cho kiến trúc IA-64 Trong bản phát hành này, hiệu suất của hệ thống đã được cải tiến đáng kể với các công cụ IDE máy khách và một số hệ thống bổ sung bao gồm; dịch vụ tích hợp, dịch vụ báo cáo, dịch vụ phân tích, dịch vụ môi giới và thông báo SQL Server 2000 cũng giới thiệu nhiều cải tiến của ngôn ngữ T-SQL, chẳng hạn như biến bảng, hàm do người dùng định nghĩa, chế độ xem được lập chỉ mục, trình kích hoạt INSTEAD OF, ràng buộc tham chiếu theo tầng và một số hỗ trợ XML cơ bản Với việc phát hành Gói dịch vụ 3, Microsoft cũng đã phát hành phiên bản 64-bit đầu tiên của SQL Server cho nền tảng Itanium IA-64 Các công cụ ứng dụng khách, chẳng hạn như Trình quản lý doanh nghiệp, vẫn cần được chạy từ các ứng dụng khách x86 32-bit Bản phát hành đầu tiên của SQL IA-64 là phiên bản 8.00.760, với ngày xây dựng là 6 tháng 2 năm 2003 SQL Server 2000 chính thức hết hỗ trợ từ ngày 8 tháng 4 năm 2008

SQL Server 2005 được phát hành vào tháng 11 năm 2005 với chức năng quản lý

dữ liệu XML, ngoài dữ liệu quan hệ Với mục đích này, SQL Server đã sử dụng XML như một kiểu dữ liệu trong các cột CSDL hoặc dưới dạng các ký tự trong các truy vấn Dữ liệu XML đang được lưu trữ được xác minh dựa trên lược đồ XSD XML được chuyển đổi thành kiểu dữ liệu nhị phân nội bộ trước khi được lưu trữ trong CSDL Các phương pháp lập chỉ mục chuyên biệt đã được cung cấp cho dữ liệu XML Dữ liệu XML được truy vấn bằng XQuery; SQL Server 2005 đã thêm một số phần mở rộng vào ngôn ngữ T-SQL để cho phép nhúng các truy vấn XQuery vào T-SQL SQL Server 2005 cũng cho phép một máy chủ CSDL được hiển thị qua các dịch vụ web bằng cách sử dụng các gói Tabular Data Stream (TDS) được đóng gói trong các yêu cầu SOAP Nhờ vậy, khi dữ liệu được truy cập qua các dịch vụ web, kết quả được trả về dưới dạng XML Trong phiên bản này, các mã SQL được quản lý bởi một công cụ mới là Common Language Runtime (CLR) Đối với dữ liệu quan hệ, T-SQL đã được tăng cường các tính năng xử lý lỗi và hỗ trợ các truy vấn đệ quy với Common Table Expressions (CTE) SQL Server 2005 cũng đã được cải tiến với các thuật toán lập chỉ mục mới, cú pháp và hệ thống khôi phục lỗi tốt hơn Các trang dữ

Trang 16

liệu được tổng kiểm tra để có khả năng phục hồi lỗi tốt hơn và hỗ trợ đồng thời lạc quan đã được thêm vào để có hiệu suất tốt hơn Quyền và kiểm soát truy cập đã được thực hiện chi tiết hơn và bộ xử lý truy vấn xử lý việc thực thi đồng thời các truy vấn theo cách hiệu quả hơn Các phân vùng trên bảng và chỉ mục được hỗ trợ nguyên bản, vì vậy việc mở rộng CSDL thành một cụm dễ dàng hơn Nhiều tính năng khác được giới thiệu trong SQL Server 2005, bao gồm Multi-version Concurrency Control (MVCC), Multiple Active Results Set (MARS), hay Dynamic Management Views (DMV) Đây cũng là phiên bản đầu tiên hỗ trợ nền tảng 64 bit SQL Server 2005 chính thức hết hỗ trợ từ ngày 12 tháng 4 năm 2011

SQL Server 2008 được phát hành vào tháng 8 năm 2008 nhằm mục đích làm cho

việc quản lý dữ liệu tự điều chỉnh, tự tổ chức và tự bảo trì với sự phát triển của công nghệ SQL Server Always On SQL Server 2008 cũng bao gồm hỗ trợ cho dữ liệu có cấu trúc và bán cấu trúc, bao gồm các định dạng phương tiện kỹ thuật số cho hình ảnh, âm thanh, video và dữ liệu đa phương tiện khác Trong các phiên bản hiện tại, dữ liệu đa phương tiện như vậy có thể được lưu trữ dưới dạng BLOB (đối tượng lớn nhị phân), nhưng chúng là dòng bit chung Nhận thức nội tại về dữ liệu đa phương tiện sẽ cho phép thực hiện các chức năng chuyên biệt trên chúng SQL Server 2008 có thể được xem là một phần mềm lưu trữ dữ liệu cho nhiều loại dữ liệu khác nhau: XML, email, thời gian / lịch, tệp, tài liệu, không gian, cũng như thực hiện tìm kiếm, truy vấn, phân tích, chia sẻ và đồng bộ hóa trên tất cả các loại dữ liệu Kiểu dữ liệu FILESTREAM mới được giới thiệu trong SQL Server 2008 có thể được sử dụng để tham chiếu bất kỳ tập tin nào được lưu trữ trên hệ thống tập tin Dữ liệu có cấu trúc và siêu dữ liệu về tập tin được lưu trữ trong CSDL SQL Server, trong khi thành phần không có cấu trúc được lưu trữ trong hệ thống tập tin Các tập tin như vậy có thể được truy cập cả thông qua các API xử lý tệp Win32 cũng như qua SQL Server bằng T-SQL Sao lưu và khôi phục CSDL cũng sao lưu hoặc khôi phục các tập tin được tham chiếu SQL Server 2008 cũng hỗ trợ dữ liệu phân cấp một cách nguyên bản và bao gồm các cấu trúc T-SQL để xử lý trực tiếp chúng mà không cần sử dụng truy vấn đệ quy

SQL Server 2012 ra mắt vào tháng 6 năm 2021 với sự xuất hiện của Always On

SQL Server Failover Cluster Instances và Availability Groups Các tính năng này cung cấp

một tập hợp các tùy chọn để cải thiện tính khả dụng của CSDL, đơn giản hóa việc di chuyển

Trang 17

CSDL giữa các phiên bản Khả năng lập trình được cải thiện với Dynamic Management Views and Functions và một số tính năng mới liên quan đến quản lý dữ liệu không gian, khám phá siêu dữ liệu Phiên bản này chú trọng tới việc nâng cao hiệu suất hoạt động với sự xuất hiện của ColumnStore Indexes, hay tăng cường khả năng bảo mật trong thiết lập, quyền mới, cải tiến quản lý vai trò và chỉ định giản đồ mặc định cho các nhóm, Đây cũng là phiên bản cuối cùng hỗ trợ OLEDB nguyên gốc

SQL Server 2014 được phát hành vào tháng 4 năm 2014, cung cấp một khả năng

lưu trữ toàn bộ bảng dữ liệu trong bộ nhớ Trong các phiên bản trước, các bảng dữ có thể lưu trữ trên ổ đĩa vật lý, vì vậy phát sinh hàng loạt công việc liên quan khi truy cập dữ liệu trong bảng, bao gồm lưu trữ dữ liệu trong RAM, ghi các trang bị đẩy ra đĩa, tải các trang mới từ đĩa vật lý, khóa các trang trong RAM khi chúng đang được vận hành, Bằng cách coi một bảng được đảm bảo là hoàn toàn nằm trong bộ nhớ, có thể tránh được tình trạng nghẽn dữ liệu SQL Server 2014 cũng nâng cao giải pháp Always On (HADR) bằng cách tăng khả năng có thể đọc và duy trì hoạt động đọc khi ngắt kết nối chính-phụ Nó cung cấp các giải pháp sao lưu và khôi phục thảm họa kết hợp mới với Microsoft Azure, cho phép khách hàng sử dụng các kỹ năng hiện có với phiên bản SQL Server tại chỗ để tận dụng các trung tâm dữ liệu toàn cầu của Microsoft Ngoài ra, nó còn tận dụng các khả năng mới của Windows Server 2012 và Windows Server 2012 R2 để có khả năng mở rộng ứng dụng CSDL trong môi trường vật lý hoặc ảo

SQL Server 2016 được phát hành vào tháng 6 năm 2016 và chỉ hỗ trợ bộ xử lý 64

bit Đây là phiên bản cuối cùng có gói Server Packs

SQL Server 2017 xuất hiện vào tháng 10 năm 2017 có phiên bản chạy trên dòng

hệ điều hành Linux

SQL Server 2019 xuất hiện vào tháng 11 năm 2019 với tính năng mới Big Data

Clusters for SQL Server Nó cũng cung cấp khả năng và cải tiến bổ sung cho nhiều dịch vụ khác của SQL Server

Trang 18

2.2 Cài đặt SQL Server

2.2.1 Lập kế hoạch cài đặt

Cài đặt SQL Server là một hoạt động phức tạp và kéo dài với nhiều yêu cầu về phần cứng, phần mềm và bảo mật khác nhau Do đó, việc tìm hiểu các yêu cầu cài đặt, kiểm tra cấu hình hệ thống và các cân nhắc bảo mật để cài đặt SQL Server là cần thiết Các nội dung này cụ thể như sau:

- Tìm hiểu chi tiết về các tính năng mới hoặc cải tiến trong phiên bản SQL Server muốn cài đặt

- Tìm hiểu các yêu cầu phần cứng, phần mềm tối thiểu để cài đặt và chạy phiên bản SQL Server; đối chiếu với cấu hình hiện tại của máy chủ để xác định bản cài đặt phù hợp

- Xem xét một số phương pháp bảo mật tốt nhất trước và sau khi cài đặt SQL Server

- Tìm hiểu cấu hình mặc định và tùy chọn của các dịch vụ cần thiết lập trong và sau khi cài đặt SQL Server

- Tìm hiểu cấu hình mặc định và tùy chọn của các giao thức mạng trong SQL Server

- Xem xét việc cài đặt nhiều phiên bản và sử dụng nhiều thể hiện SQL Server - Xem xét việc sử dụng SQL Server được bản địa hóa (nếu có)

2.2.2 Lựa chọn phiên bản cài đặt

Microsoft phát hành nhiều phiên bản cài đặt khác nhau, người sử dụng lựa chọn dựa trên đặc điểm kỹ thuật, nhu cầu sử dụng và khả năng đáp ứng của phiên bản (Bảng 2.1) Bảng 2.1 So sánh các phiên bản khác nhau của SQL Server

Tính năng

Doanh nghiệp Enterprise

Tiêu chuẩn Standard

Rút gọn Express

Phát triển Developer

Số lượng core tối đa Không giới hạn 24 core 4 core giới hạn Không Kích thước vùng đệm tối đa Tối đa 128 GB 1410 MB Tối đa Bộ nhớ cache phân đoạn cột tối đa Tối đa 32 GB 352 MB Tối đa Bộ nhớ tối đa cho mỗi CSDL Tối đa 32 GB 352 MB Tối đa

Trang 19

Kích thước CSDL tối đa 524 PB 524 PB 10 GB 524 PB

Báo cáo tuân thủ với tuân thủ SQL Server x x x x

Báo cáo trên thiết bị di động và KPI x x

Quyền truy cập Power BI Report Server x Tích hợp Machine Learning cơ bản x x x x Tích hợp Machine Learning nâng cao x x Machine Learning cho Spark và Linux x

- Đĩa cứng (Hard disk): SQL Server yêu cầu tối thiểu 6GB đối với không gian lưu

trữ trên đĩa cứng Ngoài ra, kích thước lưu trữ còn phụ thuộc vào các thành phần SQL Server được lựa chọn để cài đặt theo mục đích sử dụng Một máy chủ CSDL SQL Server có thể chiếm tới 8GB lưu trữ trong đĩa cứng

Trang 20

- Màn hình (Monitor): SQL Server yêu cầu màn hình có độ phân giải 800x600

hoặc cao hơn

- Internet: Các chức năng liên quan đến kết nối mạng yêu cầu truy cập Internet - Bộ nhớ RAM (Random access memory): SQL Server bản Express yêu cầu tối

thiểu 1 GB, trong khi mức tối thiểu đối với các phiên bản khác là 4 GB hoặc cao hơn, tùy theo kích thước của các CSDL người dùng và các nghiệp vụ xử lý trên dữ liệu

- Bộ xử lý CPU (Central Processing Unit): SQL Server yêu cầu x64 Processor 2.0

GHz hoặc nhanh hơn 2.2.3.2 Yêu cầu phần mềm

Các yêu cầu sau đây về bộ nhớ và bộ xử lý áp dụng đối với tất cả các phiên bản của SQL Server 2019:

- Hệ điều hành Windows 10 TH1 1507 hoặc cao hơn; Windows Server 2016 hoặc

Đối với một phiên bản của SQL Server bao gồm Máy chủ CSDL (Database Engine – DBE), Dịch vụ phân tích (Analysis Services) và Dịch vụ báo cáo (Reporting Services), mỗi thành phần có một tập hợp đầy đủ dữ liệu và tập tin thực thi cũng như các tập tin chung được chia sẻ bởi tất cả các thành phần Để cô lập các vị trí cài đặt cho từng thành phần, các định danh (Identifier – ID) phiên bản duy nhất được tạo cho từng thành phần trong một phiên bản SQL Server nhất định

Các tập tin chung được sử dụng bởi tất cả các phiên bản trên một máy tính được cài đặt trong thư mục <drive>: \ Program Files \ Microsoft SQL Server \ nnn \ Trong đó,

Trang 21

<drive> là ký tự ổ đĩa nơi các thành phần được cài đặt Mặc định thường là ổ C nnn xác

định phiên bản Bảng sau xác định các phiên bản cho các đường dẫn {nn} là giá trị phiên

bản được sử dụng trong ID phiên bản và đường dẫn đăng ký Bảng 2.2 Phiên bản và giá trị phiên bản được sử dụng trong ID

Ví dụ 2.1 ID của thể hiện trong SQL Server

- MSSQL{nn}.MSSQLSERVER thể hiện mặc định của SQL Server

- MSAS{nn}.MSSQLSERVER thể hiện mặc định của of Dịch vụ phân tích - MSSQL{nn}.MyInstance thể hiện người dùng đặt tên của SQL Server với tên

gọi là “MyInstance”

Ví dụ 2.2 Cấu trúc thư mục của SQL Server

Cấu trúc thư mục cho phiên bản SQL SERVER bao gồm Máy chủ CSDL và Dịch vụ phân tích, với thể hiện được đặt tên là “MyInstance” Mặc định, các thư mục cài đặt là:

- C:\Program Files\Microsoft SQL Server\MSSQL{nn}.MyInstance\ - C:\Program Files\Microsoft SQL Server\MSAS{nn}.MyInstance\

Chú ý: Có thể chỉ định thư mục chứa các tập tin cài đặt thay vì sử dụng thư mục mặc định

trong khi thiết lập cài đặt SQL Server

Trang 22

- Cài đặt Dịch vụ báo cáo - Cài đặt Các công cụ quản trị - Cài đặt Các công cụ dữ liệu

- Nâng cấp từ các phiên bản trước của SQL Server

2.3 Kiến trúc SQL Server

2.3.1 Kiến trúc chung

Microsoft SQL Server là một kiến trúc khách – chủ (client – server) Một tiến trình của SQL Server bắt đầu với việc ứng dụng khách gửi một yêu cầu, sau đó máy chủ SQL thực hiện các bước xử lý và phản hồi kết quả đạt được SQL Server được cấu thành bởi hai thành phần chính là Máy CSDL (Database Engine - DBEngine) và Hệ điều hành SQL Server (SQL Server Operating System – SQLOS)

Máy CSDL (DBEngine) là thành phần cốt lõi của kiến trúc SQL Server, chịu trách

nhiệm lưu trữ, xử lý và bảo mật dữ liệu SQL Server hỗ trợ tối đa 50 thể hiện DBEngine trên một máy tính đơn Mỗi thể hiện DBEngine cung cấp quyền truy cập có kiểm soát và xử lý giao dịch nhanh chóng nhằm đáp ứng yêu cầu của các ứng dụng sử dụng dữ liệu DB Engine gồm một máy quan hệ (Relational Engine) để xử lý các truy vấn là một máy lưu trữ (Storage Engine) để quản lý các tập tin CSDL, trang, chỉ mục, … Ngay cả các đối tượng CSDL như thủ tục, khung nhìn và bẩy lỗi cũng được tạo và thực thi thông qua DB Engine

Máy quan hệ (Relational Engine) có nhiệm vụ xử lý các truy vấn, do đó còn được

gọi là bộ xử lý truy vấn Ngoài ra, máy quan hệ còn quản lý bộ nhớ, quản lý luồng và tác vụ, quản lý bộ đệm và xử lý truy vấn phân tán Nó thường yêu cầu dữ liệu từ công cụ lưu trữ cho một truy vấn đầu vào nhất định và xử lý đầu ra trên cơ sở đó Ba thành phần chính của máy quan hệ bao gồm:

- Trình phân tích câu lệnh (Command Parser) là thành phần đầu tiên của công cụ

quan hệ để nhận dữ liệu truy vấn Nó chủ yếu kiểm tra truy vấn để tìm lỗi cú pháp và ngữ nghĩa Sau cùng, nó tạo một cây truy vấn tương ứng với truy vấn ban đầu

- Trình tối ưu hóa (Optimizer) tìm kế hoạch thực thi rẻ nhất, không phải tốt nhất,

hiệu quả về chi phí Việc tối ưu hóa chủ yếu được thực hiện cho các lệnh thao

Trang 23

tác dữ liệu (Data manipulation language – DML) chứ không phải tất cả các truy vấn Mục tiêu cuối cùng là giảm thiểu thời gian thực hiện truy vấn

- Trình thực thi (Query executor) cung cấp một kế hoạch để tìm, nạp dữ liệu cần

thiết để thực thi truy vấn Sau khi nhận được dữ liệu máy lưu trữ, kết quả sẽ được chuyển vào vào lớp giao thức (Protocol layer) Cuối cùng, dữ liệu được gửi đến người dùng cuối

Hình 2.1 Kiến trúc của MS SQL Server (Nguồn: Microsoft)

Máy lưu trữ (Storage Engine) chịu trách nhiệm chính về việc lưu trữ và truy xuất

dữ liệu từ các hệ thống lưu trữ Nó có ba thành phần chính sau:

- Phương thức truy cập (Access method) xác định xem truy vấn là câu lệnh chọn

(SELECT) hay không Sau đó nó gọi bộ đệm và chuyển giao dịch cho Trình quản lý tương ứng

Trang 24

- Trình quản lý bộ đệm (Buffer manager) quản lý các chức năng cốt lõi của Plan

Cache, Data Parsing & Dirty Page

- Trình quản lý giao dịch (Transaction manager) quản lý giao dịch không chọn

(Non-Select transaction) với sự trợ giúp của trình quản lý nhật ký và khóa (Log and Lock Manager)

Hệ điều hành SQL Server (SQLOS) là một lớp ứng dụng riêng biệt ở cấp thấp

nhất của SQL Server Nó nằm ở lớp dưới so với máy lưu trữ và máy quan hệ Nó thực sự cung cấp các dịch vụ hệ điều hành như bộ nhớ và quản lý I/O với nhiều dịch vụ khác như là dịch vụ đồng bộ và xử lý ngoại lệ Một số chức năng quan trọng của SQLOS:

- Lập lịch và báo cáo hoàn thành nhập xuất - Quản lý đồng bộ hóa luồng

- Xử lý ngoại lệ

- Phát hiện và quản lý khóa chết (deadlock)

- Kiểm soát lượng bộ nhớ mà một thành phần trong SQL Server đang sử dụng - Thực hiện lưu trữ cho các thành phần bên ngoài như CLR và MDAC

2.3.2 Kiến trúc bộ nhớ

SQL Server tự động thu nhận và giải phóng bộ nhớ theo yêu cầu Thông thường, quản trị viên không phải chỉ định lượng bộ nhớ nên được cấp phát cho SQL Server, mặc dù tùy chọn này vẫn tồn tại và được yêu cầu trong một số môi trường Một trong những mục tiêu thiết kế chính của tất cả các phần mềm CSDL là giảm thiểu I/O đĩa vì đọc và ghi đĩa là một trong những hoạt động sử dụng nhiều tài nguyên nhất SQL Server xây dựng một vùng đệm trong bộ nhớ để giữ các trang được đọc từ CSDL Phần lớn mã trong SQL Server được dành riêng để giảm thiểu số lần đọc và ghi vật lý giữa đĩa và vùng đệm SQL Server cố gắng đạt được sự cân bằng giữa hai mục tiêu:

- Giữ cho vùng đệm không trở nên quá lớn khiến toàn bộ hệ thống sắp hết bộ nhớ - Giảm thiểu I / O vật lý cho các tập tin CSDL bằng cách tối đa hóa kích thước

của vùng đệm

2.3.3 Kiến trúc tập tin dữ liệu

Kiến trúc tập tin dữ liệu (data file) của SQL Server gồm các thành phần sau đây:

Trang 25

- Nhóm tập tin (File Group): Các tập tin CSDL có thể nhóm lại với nhau thành các

nhóm tập tin Có hai loại File Group trong SQL Server:

o Primary chứa các tập tin dữ liệu chính và bất kỳ tập tin nào không được gán

cụ thể cho File Group khác Tất cả các trang cho bảng hệ thống được cấp phát trong Primary

o User-defined là các nhóm tập tin do người dùng định nghĩa, nó được chỉ định

bằng cách sử dụng từ khóa file group trong lệnh tạo CSDL hoặc xóa CSDL - Tập tin dữ liệu (Datafile): Trong SQL Server có 3 loại tập tin dữ liệu là Primary

(tập tin dữ liệu chính), Secondary (tập tin dữ liệu phụ) và Log (tập tin nhật ký) Primary là điểm bắt đầu của CSDL và chỉ dẫn đến các file khác trong CSDL

- Khối dữ liệu (Extent) là một đơn vị lưu trữ, trong đó không gian được phân bổ cho

mỗi bảng, chỉ mục Mỗi Extent gồm 8 trang liền kề hoặc 64KB

- Trang dữ liệu (Page): đơn vị cơ bản trong lưu trữ dữ liệu của SQL Server Kích

thước của một trang là 8KB

2.3.4 Kiến trúc tập tin nhật ký

Các nhật ký giao dịch (transaction log) trên SQL Server là chuỗi các bản ghi nhật ký (record log) Mỗi bản ghi nhật ký được xác định bởi Log Sequence Number (LSN), trong đó có ID của giao dịch chứa nó

Nhật ký ghi lại những sửa đổi dữ liệu hoặc các hoạt động được thực hiện Nó được sử dụng để khôi phục hình ảnh trước khi hoặc xác định hình ảnh sau khi dữ liệu bị chỉnh sửa Hình ảnh trước là bản sao của dữ liệu trước khi thao tác được thực hiện, hình ảnh sau là bản sao của dữ liệu sau khi thao tác đã được thực hiện

2.3.5 Các CSDL hệ thống

Hệ quản trị SQL Server có bốn CSDL hệ thống, bao gồm:

CSDL master lưu trữ toàn bộ các thông tin cấp hệ thống, thông tin khởi tạo và cấu

hình hệ thống, thông tin tài khoản người dùng, biến môi trường, thông điệp lỗi hệ thống và các thủ tục hệ thống, ghi nhận sự tồn tại của tất cả các CSDL, vị trí của các tập tin dữ liệu

CSDL model là CSDL mẫu cho tất cả CSDL tạo mới trong hệ thống, có thể tùy

biến cho phù hợp

Trang 26

CSDL msdb lưu giữ các bảng hệ thống, đồng thời được SQL Server Agent sử dụng

trong việc lập biểu, cảnh báo và ghi nhận các thao tác

CSDL tempdb được dùng như là vùng chứa tạm thời đối với các bảng và các thủ

tục tạm Toàn bộ bảng tạm và thủ tục trong CSDL tempdb liên quan đến phiên làm việc bị xóa bỏ khi phiên làm việc đó kết thúc

2.4 Các công cụ quản trị SQL Server

2.4.1 Management Studio

SQL Server Management Studio (SSMS) là một phần mềm ứng dụng phát hành lần đầu tiên với Microsoft SQL Server 2005, được sử dụng để định cấu hình, quản lý và quản trị tất cả các thành phần trong Microsoft SQL Server

SSMS là một trong những công cụ quản lý SQL Server, được sử dụng để thiết kế truy vấn và quản lý CSDL và kho dữ liệu thông qua máy tính cá nhân hoặc đám mây Trên thực tế, SSMS là một môi trường tích hợp cung cấp các công cụ để định cấu hình, giám sát và quản trị các phiên bản và CSDL SQL Server

Một tính năng quan trọng của SSMS là Object Explorer, cho phép người dùng duyệt, chọn và thao tác trên trên bất kỳ đối tượng nào trong máy chủ Microsoft cũng kết hợp khả năng tương thích ngược cho các phiên bản SQL Server cũ hơn Nhờ vậy, phiên bản SSMS mới có thể kết nối với các SQL Server phiên bản cũ Từ năm 2017, Microsoft phát hành các phiên bản SSMS độc lập với các bản phát hành công cụ CSDL SQL Server

2.4.2 Configuration manager

SQL Server Configuration Manager (SSCM) là một công cụ để quản lý các dịch vụ được liên kết với SQL Server, để định cấu hình các giao thức mạng được sử dụng bởi SQL Server và quản lý cấu hình kết nối mạng từ các máy khách SQL Server SSCM được cài đặt cùng với cài đặt SQL Server SSCM là một phần mềm Microsoft Management Console có sẵn từ menu Start hoặc có thể được thêm vào bất kỳ màn hình Microsoft Management Console nào khác

Trình quản lý SSCM và SSMS sử dụng Công cụ quản lý cửa sổ (Window Management Instrumentation – WMI) để xem và thay đổi một số cài đặt máy chủ WMI cung cấp một cách thống nhất để giao tiếp với các lệnh gọi API quản lý các hoạt động đăng

Trang 27

ký được yêu cầu bởi các công cụ SQL Server và cung cấp khả năng kiểm soát và thao tác nâng cao đối với các dịch vụ SQL đã chọn của thành phần đính vào SSCM

2.4.3 Server Profiler

Microsoft SQL Server Profiler là một giao diện đồ họa người dùng (Graphical User Interface – GUI) cho SQL Trace để giám sát thể hiện của máy CSDL (Database Engine) hoặc các dịch vụ phân tích (Analysis Services) Người dùng có thể chụp và lưu dữ liệu về từng sự kiện vào một tập tin hoặc bảng để phân tích sau này, chẳng hạn giám sát và xác định thủ tục lưu trữ nào đang thực thi quá chậm, làm ảnh hưởng đến hiệu suất của hệ thống SQL Server Profiler được sử dụng cho các hoạt động như:

- Duyệt các câu truy vấn để tìm ra nguyên nhân của vấn đề - Tìm và chẩn đoán các truy vấn chạy chậm

- Nắm bắt chuỗi câu lệnh T-SQL dẫn đến sự cố Sau đó, các dấu vết đã lưu có thể được sử dụng để tái tạo sự cố trên máy chủ thử nghiệm nhằm chẩn đoán sự cố - Giám sát hiệu suất của SQL Server để điều chỉnh khối lượng công việc

- So sánh bộ đếm hiệu suất để chẩn đoán sự cố

2.4.4 Database Engine Tuning Advisor

SQL Server tích hợp một công cụ hiệu suất khác được gọi là Database Engine Tuning Advisor (DTA) Công cụ này cho phép SQL Server phân tích một câu lệnh hoặc một loạt câu lệnh có sẵn bằng cách chạy một hồ sơ (profiler) hoặc dấu vết phía máy chủ (server side trace) Sau đó, DTA sẽ xem xét từng câu lệnh để xác định nơi có thể thực hiện các cải tiến và sau đó trình bày các tùy chọn để cải tiến

Về cơ bản, DTA là một công cụ giúp xác định liệu các chỉ mục bổ sung hay việc phân vùng có hữu ích hay không Dưới đây là tóm tắt về các tùy chọn:

- Thêm chỉ mục (chế độ xem theo nhóm, không nhóm và được lập chỉ mục) - Thêm phân vùng

- Thêm thống kê, bao gồm thống kê nhiều cột không được tạo tự động ngay cả khi đã bật tùy chọn AUTO_CREATE_STATISTICS

Trang 28

2.4.5 Data Quality Client Application

Data Quality Client (DQC) cung cấp giao diện đồ họa trực quan và đơn giản để kết nối với Data Quality Server (DQS) và thực hiện các thao tác làm sạch dữ liệu Nó cũng cho phép theo dõi tập trung các hoạt động khác nhau được thực hiện trong quá trình làm sạch dữ liệu

DQC cho phép thực hiện các hoạt động kiểm soát chất lượng dữ liệu bằng một công cụ độc lập Ứng dụng này cho phép tạo cơ sở kiến thức (Knowledge Base – KB), tạo và chạy các dự án chất lượng dữ liệu và thực hiện các tác vụ quản trị DQC được cài đặt trong quá trình thiết lập SQL Server Nó có thể được cài đặt trên cùng một máy tính với DQS hoặc trên một máy tính khác

Người quản lý dữ liệu, chuyên gia dữ liệu hoặc chuyên gia CNTT chịu trách nhiệm quản lý tài sản dữ liệu và duy trì các tiêu chuẩn cao về chất lượng dữ liệu có thể sử dụng DQC ở bất kỳ vai trò nào trong ba vai trò: Điều hành DQS KB, người có thể chỉnh sửa và thực hiện dự án chất lượng dữ liệu; Biên tập DQS KB, người có thể thực hiện các chức năng của dự án, tạo và chỉnh sửa cơ sở tri thức; và Quản trị viên DQS, người có thể thực hiện các chức năng của dự án và cơ sở tri thức cũng như quản trị hệ thống

2.4.6 Data Tools

SQL Server Data Tools (SSDT) là một giải pháp Visual Studio nhằm phát triển CSDL quan hệ SQL Server Về cơ bản, nó là sự mở rộng của sản phẩm Business Intelligence Developer Studio (BIDS) từ Visual Studio 2008 Ngoài các công cụ CSDL mới, SSDT hỗ trợ các loại dự án BIDS thông thường cho Dịch vụ phân tích (SQL Server Analysis Services – SSAS), Dịch vụ báo cáo (SQL Server Reporting Services – SSRS) và Dịch vụ tích hợp (SQL Server Integration Services – SSIS) Với SSDT, Microsoft đã hợp nhất tất cả các trải nghiệm phát triển CSDL SQL Server vào một phiên bản Visual Studio duy nhất

2.5 Quản lý máy chủ SQL Server

SQL Server Configuration Manager (SSCM) cho phép thiết lập các giao thức mạng máy chủ và máy khách cũng như các tùy chọn kết nối Thông thường việc thiết lập này chỉ cần thực hiện một lần, ngay sau khi hoàn thành cài đặt hệ thống Tuy nhiên, trong quá trình

Trang 29

quản lý, vận hành, nếu có sự thay đổi về hạ tầng công nghệ, việc cấu hình lại các giao thức mạng cũng như các kết nối máy chủ là cần thiết

2.5.1 Điều khiển hoạt động SQL Server

Thông thường, dịch vụ SQL Server cùng với máy CSDL (DBE) hoạt động liên tục 24/7 hoặc tự động khởi động lại cùng với máy chủ CSDL Nói cách khác, các ứng dụng quản trị có thể kết nối với dịch vụ SQL Server và DBE bất kỳ lúc nào Tuy nhiên, một vài trường hợp lỗi xảy ra trong quá trình khởi động các ứng dụng này Dưới đây là một lỗi phổ biến liên quan đến việc SSMS không thể kết nối tới dịch vụ SQL Server

Hình 2.2 Kết nối tới dịch vụ SQL Server

Nhiều nguyên nhân dẫn tới tình trạng nói trên (1) lỗi đường truyền phía máy chủ cài đặt SQL Server hoặc máy khách cài đặt SSMS; (2) bị chặn bởi các thiết bị bảo mật như tường lửa Trong trường hợp đường truyền hoạt động tốt và kết nối không bị cản trở bởi các thiết bị bảo mật, lỗi nói trên nhiều khả năng là do dịch vụ SQL Server đang không ở trong trạng thái hoạt động Khi đó, SSCM là công cụ hữu ích để kiểm tra và kích hoạt dịch vụ SQL Server theo trình tự sau đây:

Bước 1: Gọi thực hiện SSCM, mở SQL Server Services

Trang 30

Hình 2.3 Kết nối tới dịch vụ SQL Server

Bước 2: Chọn dịch vụ SQL Server (<server name>), nhấn chuột phải để hiển thị

danh sách các thao tác có thể thực hiện

Hình 2.4 Kết nối tới dịch vụ SQL Server

Bước 3: Chọn thao tác muốn thực hiện (Start/Stop/Pause/Resume/Restart)

Trang 31

Hình 2.5 Kết nối tới dịch vụ SQL Server

2.5.2 Thiết lập kết nối từ xa

SSMS hoạt động như một trình khách, được cài đặt trên một máy tính khác với máy chủ CSDL Để SSMS có thể kết nối vào máy chủ CSDL và thực hiện các tác vụ quản trị vận hành, cần thiết thực hiện một số thay đổi trên máy chủ CSDL thông qua SSCM theo trình tự sau đây:

Bước 1: Khởi động dịch vụ SQL Server Browser

- Gọi thực hiện SSCM, mở SQL Server Services

Hình 2.6 Thiết lập kết nối từ xa

Trang 32

- Nhấn chuột phải vào dịch vụ SQL Server Browser trong danh sách các dịch vụ của SQL Server, và chọn Properties trong thanh thực đơn

Trang 33

Hình 2.9 Thiết lập kết nối từ xa

- Nhấn nút Start để khởi động dịch vụ SQL Server Browser

Bước 2: Thiết lập giao thức mạng thích hợp

- Bật TPC/IP cho phép máy tính khác kết nối vào SQL Server thông qua IP

Hình 2.10 Thiết lập kết nối từ xa

Trang 34

- Bật Named Pipes cho phép máy tính khác kết nối vào SQL Server thông qua Server name

Hình 2.11 Thiết lập kết nối từ xa

Bước 3: Thiết lập cơ chế kết nối

- Nhấn chuột phải vào dịch vụ SQL Server (<server name>) trong danh sách các dịch vụ của SQL Server, và chọn Properties trong thanh thực đơn

Hình 2.12 Thiết lập kết nối từ xa

- Trong giao diện SQL Server (<server name>) Properties, đánh dấu nút Built-in account và chọn Network Service cho hộp chọn đi kèm

Trang 35

Hình 2.13 Thiết lập kết nối từ xa

- Nhấn nút OK trong giao diện SQL Server (<server name>) Properties để hoàn tất việc cấu hình

Bước 4: Khởi động lại dịch vụ SQL Server

- Nhấn chuột phải vào dịch vụ SQL Server (<server name>) trong danh sách các dịch vụ của SQL Server, và chọn Restart trong thanh thực đơn để khởi động lại dịch vụ SQL Server

Hình 2.14 Thiết lập kết nối từ xa

Trang 36

2.5.3 Kết nối máy chủ SQL Server

Bước 1: Khởi động phiên kết nối máy chủ SQL Server, sử dụng SSMS

Hình 2.15 Kết nối máy chủ SQL Server Bước 2: Lựa chọn kiểu máy chủ muốn kết nối (Server type), bao gồm:

- Máy chủ CSDL (Database Engine – DBE), mặc định - Các dịch vụ phân tích (Analysis Services)

- Các dịch vụ báo cáo (Reporting Services) - Các dịch vụ tích hợp (Integration Services) - Và các dịch vụ khác (nếu có)

Bước 3: Lựa chọn tên máy chủ muốn kết nối (Server name), mặc định là máy chủ cục bộ (Local server) với tên máy tính đang cài SQL Server cũng như SMSS Tuy nhiên, nhấn vào dấu mũi tên nếu muốn hiển thị danh sách các máy chủ đã kết nối trước đó (connection history) Trong trường hợp muốn tìm một máy chủ chưa bao giờ sử dụng, nhấn nút

Browsers for more để mở giao diện lựa chọn máy chủ (Browser for Servers)

Trang 37

Hình 2.16 Kết nối máy chủ SQL Server

Trong giao diện này, thẻ Local Servers chứa máy chủ CSDL và các dịch vụ cài sẵn trên máy cục bộ Nếu muốn chọn máy chủ từ xa, nhấn thẻ Network Servers

Hình 2.17 Kết nối máy chủ SQL Server

Hệ thống sẽ tự động dò tìm trong các mạng khả dụng với máy tính cục bộ và trả về danh sách các máy tính có cài đặt SQL Server sẵn sàng cho việc kết nối Trong trường hợp có một danh sách như thế, nhấn vào máy tính muốn kết nối để hiển thị máy chủ CSDL và các dịch vụ khả dụng tại đó Sau đó, nhấn nút OK để lựa chọn Kết quả này sẽ được ghi nhận trong mục Server Name ở giao diện Connect to Server

Bước 4: Lựa chọn cơ chế xác thực:

- Nếu kết nối vào máy chủ cục bộ, có thể lựa chọn cả hai cơ chế xác thực là Window Authentication và SQL Server Authentication

- Nếu kết nối vào máy chủ từ xa, chỉ lựa chọn SQL Server Authentication Bước 5: Cung cấp tài khoản đăng nhập (đối với cơ chế xác thực SQL Server Authentication Bước 6: Nhấn nút Connect để thực hiện kết nối Sau khi kết nối thành công, SSMS có giao diện như sau:

Trang 38

Hình 2.18 Kết nối máy chủ SQL Server

2.6 Các danh mục trong SQL Server

Danh mục hệ thống bao gồm các bảng mô tả cấu trúc của các đối tượng như CSDL, bảng, khung nhìn và chỉ mục Các bảng này được gọi là bảng cơ sở hệ thống DB Engine thường xuyên truy cập vào danh mục hệ thống để tìm thông tin cần thiết cho hoạt động bình thường của hệ thống Việc thay đổi hay xóa các bảng cơ sở hệ thống nói trên có thể làm cho CSDL bị mất chức năng, bị xáo trộn hoặc không sử dụng được, thậm chí có thể làm cho toàn bộ hệ thống dừng hoạt động

DB Engine phân biệt các bảng cơ sở hệ thống của CSDL master với các bảng của

một CSDL do người dùng định nghĩa (user-defined database) Các bảng hệ thống của

CSDL master thuộc về danh mục hệ thống (system catalog), trong khi các bảng hệ thống

của một CSDL người dùng định nghĩa tạo thành danh mục CSDL (database catalog) Nói

cách khác, danh mục hệ thống hoạt động trên phạm vi toàn bộ hệ thống, trong khi danh mục CSDL có ý nghĩa trên mỗi CSDL người dùng định nghĩa Bảng dưới đây tóm tắt nội dung của một số danh mục hệ thống:

Trang 39

Bảng 2.3 Một số danh mục hệ thống

Sys.altfiles Thông tin về mỗi tập tin trong CSDL

Sys.configures Thông tin về mỗi lựa chọn máy chủ được thiết lập Sys.databases Thông tin về mỗi CSDL

Sys.devices Thông tin về mỗi thiết bị sao lưu

Sys.logins Thông tin về mỗi tài khoản đăng nhập

Sys.comments Thông tin về mỗi khung nhìn, luật, mặc định, bẩy lỗi, ràng buộc Sys.indexes Thông tin về mỗi chỉ mục

Sys.objects Thông tin về mỗi đối tượng trong CSDL Sys.users Thông tin về mỗi người dùng

Trong tất cả các hệ CSDL quan hệ, các bảng cơ sở hệ thống có cấu trúc giống như các bảng cơ sở Do đó, các câu lệnh T-SQL được sử dụng để truy xuất thông tin trong bảng cơ sở có thể được sử dụng để truy xuất thông tin trong bảng cơ sở hệ thống với tài khoản sử dụng thuộc nhóm System Administrator

Ví dụ 2.3 Sử dụng T-SQL truy cập danh mục hệ thống

Trang 40

Ví dụ 2.4 Sử dụng T-SQL truy cập danh mục CSDL

2.7 Câu hỏi ôn tập

1- Trình bày lịch sử phát triển của Hệ quản trị SQL Server

2- Trình bày các nội dung cần thực hiện khi lập kế hoạch cài đặt SQL Server

3- Xác định điều kiện phần cứng, phần mềm và cách tổ chức các ổ đĩa lưu trữ để cài đặt SQL Server 2019

4- Trình bày kiến trúc SQL Server 2019

5- Trình bày tóm tắt chức năng của một số công cụ quản trị SQL Server 2019 6- Trình bày quản lý máy chủ SQL Server 2019

7- Trình bày các danh mục trong SQL Server 2019

Ngày đăng: 06/05/2024, 16:42

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w