Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Hệ quản trị cơ sở dữ liệu: Hướng dẫn thực hành / Trịnh Hoàng Nam, Phạm Thanh An, Trần Doãn Hiếu
Nội dung xem thử
Mô tả chi tiết
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
i
LỜI MỞ ĐẦU
ii
MỤC LỤC
LỜI NÓI ĐẦU .....................................................................................................................i
DANH MỤC TỪ VIẾT TẮT ............................................................................................iv
DANH MỤC BẢNG BIỂU ................................................................................................ v
DANH MỤC HÌNH ẢNH .................................................................................................vi
CHƯƠNG 1: Tổng quan hệ quản trị cơ sở dữ liệu ............................................................. 1
1.1. Một số khái niệm.................................................................................................... 1
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
iii
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
5.4. Vai trò và quyền.................................................................................................155
5.5. Bài tập có lời giải ...............................................................................................170
5.6. Bài tập rèn luyện ................................................................................................172
5.7. Câu hỏi ôn tập ....................................................................................................172
iv
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
v
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
vi
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
1
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.
2
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 khungbộ nhớ (frame-memory model ).
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.
3
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.
4
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
thành phần sau đây:
- CSDL lưu trữ: CSDL được lưu trữ tại thiết bị nhớ thứ cấp (ổ đĩa cứng) hoặc cấp 3
(Đĩa CDs, thiết bị nhớ di động, ...)
- Siêu dữ liệu (meta data): Dữ liệu về dữ liệu, mô tả các thành phần dữ liệu của CSDL
- Bộ quản lý lưu trữ: Quản lý việc lưu trữ trực tiếp trên ổ đĩa.
- 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.
5
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ó
6
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
7
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 AshtonTate 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
8
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 IA64 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ữ