SQL Server
Chương 4 Hệ quản trị cơ sở dữ liệu SQL Server
Mục tiêu:
Kết thúc chương, học viên có thể:
Hiểu được các chức năng của SQL Server
Hiểu được các chức năng mở rộng, các đặc tính và ưu điểm của SQL Server
Hiểu được những dịch vụ của SQL Server
Làm việc với hệ quản lý CSDL (Enterprise Manager), bộ phân tích truy vấn (Query Analyzer)
Hiểu rõ cách sử dụng tệp cơ sở dữ liệu (database file) và log file
Hiểu rõ cách làm thế nào để tạo và xoá cơ sở dữ liệu trong SQL Server
Nắm được các thao tác bảo trì CSDL
Giới thiệu
Trong phần trước, chúng ta đã tìm hiểu các đặc điểm của một hệ quản trị CSDL quan hệ
(RDBMS) thông dụng là MS Access. Chúng ta đã biết cách tạo CSDL và bảng trong MS Access,
cách đặt khóa chính và cách tạo mối quan hệ giữa các bảng. Chúng ta cũng biết cách xuất dữ liệu
(export data), thu gọn và sửa chữa khôi phục lại cơ sở dữ liệu. Trong phần trước, chúng ta đã
được giới thiệu về SQL Server, các đặc điểm cơ bản và cơ chế làm việc của nó. Phần này, chúng
ta sẽ phân biệt cơ chế lưu trữ dữ liệu bên trong của SQL Server và MS Access, học cách tạo lập
và quản lí dữ liệu trong SQL Server.
4.1 Giới thiệu SQL Server 2000
Vào những năm 1980, tập đoàn Microsoft và Sybase cùng hợp tác với nhau cho ra đời hệ quản trị
cơ sở dữ liệu quan hệ đa năng gọi là “SQL Server”. Sau đó ra đời phiên bản SQL Server 6.5,
Microsoft và Sybase đã tách riêng và SQL Server đã trở thành sản phẩm cạnh tranh. Phiên bản
mới nhất, SQL Server 2000 là phiên bản đánh dấu tầm quan trọng của SQL Server. SQL Server
2000 cung cấp một hệ thống quản lí dữ liệu lớn dành cho doanh nghiệp.
SQL Server 2000 có các phiên bản khác nhau, tuỳ thuộc vào yêu cầu thực thi và cấu hình tại chế
độ chạy thực. SQL Server chia thành các phiên bản sau:
SQL Server 2000 Enterprise Edition
SQL Server 2000 Standard Edition
SQL Server 2000 Personal Edition
SQL Server Developer Edition
phải tuân theo những tiêu chuẩn và nguyên tắc nhất định đối với ngôn ngữ mà chúng ta nói
hàng ngày. Trong môi trường mạng máy tính cũng như vậy. Đối với máy tính, để giao tiếp
(nói chuyện) với nhau, có sự gửi và nhận những gói dữ liệu, máy tính ở cả hai phía phải sử
dụng một ngôn ngữ chung để nói chuyện, gọi là giao thức (Protocol). SQL Server 2000 hỗ trợ
hầu hết những giao thức thông dụng như AppleTalk, TCP/IP.
Kho dữ liệu (Data Warehousing)
SQL Server cung cấp một vài công cụ để xây dựng kho dữ liệu. Sử dụng DTS designer, bạn
có thể định nghĩa các bước thực hiện, luồng công việc và chuyển đổi dữ liệu để xây dựng kho
dữ liệu từ nhiều nguồn dữ liệu khác nhau. SQL Server cũng cung cấp nhiều công cụ để phân
tích dữ liệu dựa trên các câu hỏi bằng tiếng Anh. Dữ liệu đã được lấy ra và phân tích được
dùng trong quá trình phân tích dữ liệu trực tuyến.
Tương thích (ANSI/ISO SQL-92)
Hệ quản trị cơ sở dữ liệu SQL Server 60
SQL Server
SQL Server tuân theo các chuẩn ANSI/ISO SQL-92. Microsoft cũng đưa thêm một số mở
rộng vào ngôn ngữ SQL, gọi là ‘Transact – SQL’.
Hỗ trợ việc nhân bản dữ liệu (Data Replication Support)
SQL Server 2000 hỗ trợ việc nhân bản dữ liệu (Data replication). Điều này có nghĩa là có hai
hay nhiều bản sao của CSDL được đồng bộ để những thay đổi trên một bản sẽ được cập nhật
vào các bản khác.
Tìm kiếm (Full-Text)
Tìm kiếm full-text cho phép tìm kiếm theo các kí tự. Nó cũng có thể tìm kiếm theo từ hoàn
chỉnh hay cụm từ. Indexing wizard tạo index trên một bảng nhất định. Wizard này có thể tìm
thấy trong Enterprise Manager. Nó chứa tất cả các dữ liệu cần thiết để tìm kiếm từ/ cụm từ.
Sách hướng dẫn trực tuyến (Books Online)
Books Online là một thành phần thêm vào, và sẽ tốn không gian trên server. Trợ giúp dưới
dạng một quyển sách giúp cho việc tìm kiếm theo bất kì chủ đề nào rất dễ dàng.
4.1.2 Cài đặt SQL Server
Trước khi cài đặt SQL Server, bạn phải đảm bảo các yêu cầu về phần mềm và phần cứng được
đáp ứng. Các yêu cầu phần mềm và phần cứng cho việc cài đặt SQL Server bao gồm:
4.2.1 SQL Server Enterprise Manager
SQL Server Enterprise Manager là công cụ quản trị chính của SQL Server 2000 và cung cấp
giao diện cho phép người sử dụng định nghĩa các nhóm máy chủ chạy SQL Server 2000, đăng ký
từng máy chủ vào nhóm, thiết lập cấu hình tất cả các lựa chọn của SQL Server 2000 cho mỗi máy
chủ đã đăng ký, tạo và quản trị tất cả các CSDL của SQL Server 2000, các đối tượng, đăng nhập,
người sử dụng, và quyền trên mỗi máy chủ đã đăng ký
SQL Server Enterprise Manager có thể được gọi bằng cách lựa chọn biểu tượng ‘Enterprise
Manager’ trong nhóm chương trình Microsoft SQL Server.
Chúng ta có thể đăng nhập vào một thể hiện của SQL Server 2000 bằng bất kỳ công cụ quản trị
nào hoặc từ dấu nhắc dòng lệnh.
Khi ta đăng nhập vào một thể hiện của SQL Server 2000 bằng một công cụ quản trị như SQL
Server Enterprise Manager hay SQL Query Analyzer, chúng ta được yêu cầu nhập tên máy chủ,
login ID, và mật khẩu nếu cần. Quá trình đăng nhập phụ thuộc vào việc SQL Server 2000 sử
dụng chế độ xác thực nào: Windows Authentication (xác thực của Windows), hay mixed mode
(xác thực kết hợp của Windows và SQL Server). Nếu SQL Server sử dụng Windows
Authentication bạn không cần phải cung cấp login ID mỗi khi bạn truy cập vào SQL Server. Thay
vào đó, SQL Server 2000 tự động đăng nhập sử dụng tài khoản đăng nhập vào Windows NT của
bạn.
Một CSDL là một tập hợp dữ liệu được lưu trong các tệp trên đĩa cứng. Một CSDL chứa nhiều
tệp để có thể lưu được toàn bộ dữ liệu thực.
SQL Server 2000 có hai kiểu CSDL
CSDL Hệ thống
CSDL người dùng
Hệ quản trị cơ sở dữ liệu SQL Server 62
SQL Server
CSDL hệ thống (System databases) chứa thông tin về SQL Server 2000. SQL Server 2000 sử
dụng CSDL hệ thống để vận hành và quản lý các CSDL người dùng. Các CDSL người dùng được
tạo ra bởi người sử dụng. Cả hai kiểu CSDL đều lưu trữ dữ liệu.
Các CSDL hệ thống là master, model, msdb, và tempdb. CSDL mẫu là pubs và Northwind.
Để nhập dữ liệu vào trong các bảng của bất kể một CSDL mẫu nào, bạn phải chỉ ra CSDL tương
SQL Server Query Analyzer có thể được gọi bằng cách chọn biểu tượng ‘Query Analyzer’ trong
nhóm chương trình Microsoft SQL Server. Cửa sổ của SQL Query Analyzer được hiển thị như
hình 4.2.
Hình 4.2: Query Analyzer
4.2.4 Sử dụng trợ giúp trực tuyến
SQL Server 2000 có cách thức cung cấp phần trợ giúp mới. Books Online là tiện ích trợ giúp trực
tuyến của SQL Server 2000, hướng dẫn theo các chủ đề từ việc cài đặt SQL Server 2000 đến việc
tạo và quản trị các cơ sở dữ liệu, cách sử dụng Enterprise Manager và Query Analyzer.
Books Online cung cấp trợ giúp theo 3 dạng khác nhau. Trang Content, và Index giúp ta có thể
tìm kiếm ngay mục chúng ta cần. Cuối cùng là trang Search.
Cửa sổ Books Online của SQL Server được hiển thị như trong hình 4.3.
Hệ quản trị cơ sở dữ liệu SQL Server 64
SQL Server
Hình 4.3: Các sách trực tuyến
4.3 Quản trị CSDL trong SQL Server 2000
Bây giờ chúng ta đã được giới thiệu sơ lược về SQL Server 2000, các công cụ mà nó cung cấp, và
T-SQL, chúng ta sẽ làm việc thực sự với SQL Server 2000 để tạo và quản lý các CSDL.
4.3.1 Các tệp CSDL và Log
Không giống với Access, SQL Server 2000 ánh xạ một CSDL thành một tập các tệp của hệ điều
hành. Dữ liệu và phần log không bao giờ được ghi trong cùng một tệp.
Các CSLD SQL Server 2000 có ba loại tệp sau:
Các tệp dữ liệu sơ cấp
Các tệp dữ liệu thứ cấp
Các tệp Log
Tệp dữ liệu sơ cấp (Primary data file) là điểm bắt đầu của CSDL và chỉ đến các tệp khác trong
CSDL. Mỗi CSDL có một tệp dữ liệu sơ cấp.
Các tệp dữ liệu thứ cấp (Secondary data files) bao gồm tất cả các tệp dữ liệu. Một vài CSDL
có thể không có bất kỳ tệp dữ liệu thứ cấp nào, một vài CSDL khác lại có nhiều tệp dữ liệu thứ
cấp.
Hệ quản trị cơ sở dữ liệu SQL Server 65
Xóa CSDL trong SQL Server 2000 khá dễ dàng. Bạn lựa chọn CSDL cần xóa, sau đó từ menu
Action chọn mục Delete giống như hình 4.9. Sau khi người dùng đồng ý sẽ xóa CSDL, SQL
Server 2000 sẽ gỡ bỏ CSDL đó.
Hệ quản trị cơ sở dữ liệu SQL Server 68
SQL Server
Hình 4.9: Xoá CSDL
Bên cạnh việc tạo và xóa CSDL dùng Enterprise Manager, bạn cũng có thể dùng các câu lệnh
Transact-SQL để tạo và xóa CSDL.
Câu lệnh T-SQL để tạo một CSDL là:
CREATE DATABASE
Câu lệnh trên tạo một CSDL mới, và tạo ra các file dùng để lưu CSDL, hoặc cho phép gắn một
CSDL đã tồn tại trước đó vào CSDL mới. Một trong những tham số quan trọng cần phải chỉ ra
trong câu lệnh trên là tên của CSDL mới. Tên của CSDL không được trùng với tên các CSDL
khác trên server và tuân theo các qui tắc về đặt tên.
Hình 4.10: Sử dụng Transact-SQL để tạo lập CSDL
Chúng ta cũng có thể sử dụng T-SQL để gỡ bỏ CSDL khi không cần đến
Câu lệnh DROP DATABASE dùng để gỡ bỏ một hoặc nhiều CSDL từ SQL Server 2000.
Hệ quản trị cơ sở dữ liệu SQL Server 69
SQL Server
Hình 4.11: Sử dụng Transact-SQL để tạo lập CSDL
4.3.3 Cấu hình các tuỳ chọn CSDL
Chúng ta có thể thiết lập cấu hình các CSDL SQL Server 2000 bằng cách sử dụng lệnh
EXECUTE (EXEC). Lệnh này nhận một thủ tục lưu sẵn (stored procedure) là một tham số cho
nó. Thủ tục sp_dboption thường được cung cấp làm tham số cho lệnh EXEC. Thủ tục
sp_dboption hiển thị hay làm thay đổi các tùy chọn của CSDL. Lệnh này không nên sử dụng đối
với CSDL master hay tempdb.
Ví dụ, để đặt CSDL ‘pubs’ ở dạng chỉ đọc, chúng ta có thể thực hiện lệnh sau:
EXEC sp_dboption ‘pubs’, ‘read only’, ‘True’
Sau khi thực hiện câu lệnh trên, CSDL không cho phép ghi dữ liệu vào, nó chỉ cho phép đọc mà
Hình 4.12: Lựa chọn Copy Database Wizard
Hệ quản trị cơ sở dữ liệu SQL Server 71
SQL Server
Khi sử dụng Copy Database Wizard, bạn phải chỉ ra những thông tin dưới đây:
Máy chủ nguồn chứa CSDL cần dịch chuyển hoặc sao chép
Máy chủ đích, nơi sẽ chứa CSDL sao chép hoặc dịch chuyển tới.
Trên máy chủ đích, CSDL giữ nguyên tên giống như tên tại máy chủ nguồn. Do đó, chỉ khi
trên máy chủ đích không có CSDL có tên giống tên CSDL đang sao chép hoặc di chuyển tới
thì chúng ta mới có thể sao chép hoặc di chuyển được. CSDL không thể đổi tên trong suốt
quá trình di chuyển hoặc sao chép. Để tránh xung đột này, chúng ta phải đổi tên CSDL trước
khi di chuyển hoặc sao chép CSDL.
CSDL cần dịch chuyển hoặc sao chép
Các đối tượng khác cần dịch chuyển hoặc sao chép (ví dụ, logins, các đối tượng dùng chung
từ CSDL chủ, jobs và các kế hoạch bảo trì, các thông báo lỗi do người sử dụng tự định nghĩa)
Lịch để sao chép hoặc di chuyển CSDL, nếu bạn muốn thực hiện lại các thao tác sao chép,
dịch chuyển vào lần sau
Hình 4.13: Copy Database Wizard
Hệ quản trị cơ sở dữ liệu SQL Server 72
SQL Server
Tóm tắt
SQL Server 2000 cung cấp một hệ thống quản lí dữ liệu lớn dành cho doanh nghiệp.
SQL Server 2000 có các phiên bản khác nhau:
• SQL Server 2000 Enterprise Edition
• SQL Server 2000 Standard Edition
• SQL Server 2000 Personal Edition
• SQL Server Developer Edition
• SQL Server 2000 Desktop Engine
• SQL Server 2000 Windows CE Edition
Đặc điểm của SQL Server:
SQL Server
SQL Server Enterprise Manager có thể được gọi bằng cách lựa chọn biểu tượng ‘Enterprise
Manager’ trong nhóm chương trình Microsoft SQL Server.
Chúng ta có thể đăng nhập vào một thể hiện của SQL Server 2000 bằng bất kỳ công cụ quản
trị nào hoặc từ dấu nhắc dòng lệnh.
Một CSDL là một tập hợp dữ liệu được lưu trong các tệp trên đĩa cứng. Một CSDL chứa
nhiều tệp để có thể lưu được toàn bộ dữ liệu thực.
SQL Server 2000 có hai kiểu CSDL
• CSDL Hệ thống
• CSDL người dùng
CSDL hệ thống (System databases) chứa thông tin về SQL Server 2000. SQL Server 2000 sử
dụng CSDL hệ thống để vận hành và quản lý các CSDL người dùng.
CSDL người dùng được tạo lập bởi người sử dụng
Transact-SQL (cũng được gọi T-SQL) là một tập mở rộng khả năng lập trình trong
SQL của Microsoft. Một số tình năng thêm vào SQL bao gồm kiểm soát giao dịch,
xử lý lỗi, xử lý bản ghi.
Transact-SQL cho phép bạn khai báo và sử dụng các biến và hằng bên trong một đối tượng
Transact-SQL.
SQL Server 2000 cung cấp hai công cụ để làm việc là:
• Enterprise Manager
• Query Analyzer
Query Analyzer là một giao diện cho phép người phát triển hoặc người quản trị có thể thực
hiện một cách dễ dàng các tác vụ hàng ngày như vấn tin các bảng, thao tác với dữ liệu trong
các bảng.
SQL Server 2000 có cách thức cung cấp phần trợ giúp mới. Books Online là tiên ích trợ giúp
trực tuyến của SQL Server 2000, hướng dẫn theo các chủ đề từ việc cài đặt SQL Server 2000
đến việc tạo và quản trị CSDL, cách sử dụng Enterprise Manager và Query Analyzer.
Các CSDL SQL Server 2000 có ba loại tệp như:
• Các tệp dữ liệu sơ cấp
• Các tệp dữ liệu thứ cấp
(Đúng/Sai)
9. ____________ lệnh có thể sử dụng để làm giảm kích thước các tệp tin dữ liệu trong CSDL
10. Lệnh T-SQL để tạo lập CSDL là ____________________.
11. Chúng ta có thể cấu hình CSDL SQL Server 2000 bằng cách sử dụng lệnh EXECUTE
(EXEC). (Đúng/Sai)
Hệ quản trị cơ sở dữ liệu SQL Server 76