Có bán tại Photo Sỹ Giang
Mới
Câu hỏi ôn tập
QUẢN TRỊ CƠ SỞ DỮ LIỆU
1. Đồng bộ hóa cơ sở dữ liệu là gì? Mục tiêu và ngữ cảnh ứng dụng của đồng bộ
hóa cơ sở dữ liệu..........................................................................................................4
2. Các thành phần đồng bộ hóa dữ liệu. Mô tả bằng hình vẽ mô hình đồng bộ
hóa một Publisher với một Subcriber........................................................................4
4. Các thành phần đồng bộ hóa dữ liệu. Mô tả bằng hình vẽ mô hình đồng bộ
hóa một Publisher với nhiều Subcriber.....................................................................5
5. Các thành phần đồng bộ hóa dữ liệu. Mô tả bằng hình vẽ mô hình đồng bộ
hóa nhiều Publisher với một Subcriber.....................................................................6
6. Các thành phần đồng bộ hóa dữ liệu. Mô tả bằng hình vẽ mô hình đồng bộ
hóa nhiều Publisher với nhiều Subcriber..................................................................6
7. . Mô tả các chế độ bảo mật trong SQL Server.?...................................................7
8. Phân biệt các dạng người dùng và nhóm quyền (role) trong SQL Server ?.......9
9. Sao lưu và phục hồi cơ sở dữ liệu nhằm mục đích gì. Liệt kê một số nguyên
nhân cần phải xem xét tới việc sao lưu và phục hồi dữ liệu?...................................9
10. Sao lưu dữ liệu là gì? Mô tả các dạng sao lưu dữ liệu trong SQL Server 2008
.................................................................................................................................... 10
Câu 11: Phục hồi dữ liệu là gì? Mô tả các mô hình phục hồi dữ liệu trong SQL
Server 2008................................................................................................................11
Các bước tiến hành...................................................................................................12
1. Phục hồi bản sao lưu Full từ Disk/Tape/Cloud...................................................12
2. Khôi phục bản sao lưu Full vào database bằng lệnh của SQL Server..............12
Câu 12: Thủ tục lưu trữ trong SQL Server là gì? Thủ tục lưu trữ có thể hỗ trợ
cho hoạt động quản trị cơ sở dữ liệu như thế nào?.................................................14
Câu 14: Triger là gì? Có mấy loại Triger và trường hợp ứng dụng của từng loại
.................................................................................................................................... 16
Có bán tại Photo Sỹ Giang
1
Mới
Có bán tại Photo Sỹ Giang
Mới
Câu 15: Ngôn ngữ T-SQL trong SQL Server có những điểm khác biệt gì so với
SQL chuẩn? Sự khác biệt này giúp ích gì cho hoạt động quản trị cơ sở dữ liệu
trong môi trường SQL Server..................................................................................17
Câu 16: Hệ quản trị cơ sở dữ liệu là gì? Mô tả ba dịch vụ cơ bản của SQL Server
.................................................................................................................................... 17
Câu 17: Mô tả cách thức căn bản để tăng tốc câu lệnh truy vấn cơ sở dữ liệu.
Execution Plan trong SQL Server cung cấp cho nhà quản trị những thông tin gì?
.................................................................................................................................... 21
Câu 18: Mô hình hệ quản trị cơ sở dữ liệu khách/chủ (client /server) là gì? SQL
Server có những đặc trưng gì để đáp ứng là một hệ quản trị cơ sở dữ liệu theo
mô hình khách/chủ....................................................................................................23
Câu 20: Bảo mật cơ sở dữ liệu là gì? Các khái niệm chính trong bảo mật cơ sở dữ
liệu được quản trị bằng SQL Server........................................................................24
Để xem tất cả các users của một database, có thể dùng lệnh exec sp_helpuser
hoặc trong SSMS (Database/Security/Users)..........................................................25
Server role (vai trò phía Server) Role là tập hợp một số các quyền được nhóm lại
và có một tên đại diện để thuận tiện cho việc quản lý. Server role là nhóm các
quyền ở mức server mà login khi được cấp sẽ có thể thực hiện một số thao tác
xác định ở mức server. Các Server Roles trong SQL Server như sau:................25
Câu 21: . Nêu vai trò và nhiệm vụ của quản trị viên cơ sở dữ liệu........................27
Bài 1: Tổng quan quản trị cơ sở dữ liệu..................................................................28
Bài 6: Quản trị server...............................................................................................29
Câu 2: kỹ thuật phân bảng thường ứng dụng trong điều kiện nào?........................30
Bài 7: Tự động hóa quản trị.....................................................................................31
Bài 8: đồng bộ hóa dữ liệu........................................................................................31
Bài 9: bảo mật dữ liệu...............................................................................................34
Bài 10: toàn vẹn dữ liệu............................................................................................35
Bài 11: Sao lưu và phục hồi csdl..............................................................................36
ĐỀ 1:..........................................................................................................................36
Câu 1: đồng bộ hóa dữ liệu là gì? Mục tiêu và ngữ cảnh đồng bộ hóa dữ liệu?...36
Câu 2: Cho CSDL Bán Hàng gồm các lược đồ quan hệ sau:.................................37
Có bán tại Photo Sỹ Giang
2
Mới
Có bán tại Photo Sỹ Giang
Mới
Câu 3: Hãy viết một thủ tục hệ thống sao lưu csdl trên một ổ đĩa bất kỳ và phục
hồi csdl trên và ghi đè lên csdl đang sử dụng..........................................................40
ĐỀ 2:..........................................................................................................................41
Câu 1: Mô tả các chế độ bảo mật trong sql server:................................................41
Câu 2: Xét cơ sở dữ liệu QLNV gồm các lược đồ sau:...........................................43
Câu 3: Giong đề 1......................................................................................................45
Câu 4: Hãy tạo một tài khoản đăng nhập cho Ngô Tuấn Phong, đặt tên là
PhongNT, pass Phong123. Người dùng này có quyền SELECT trên bảng
Nhanvien và Lamviec................................................................................................45
Đề 3:...........................................................................................................................45
Câu 1: Phân biệt các dạng người dùng và nhóm quyền trong sql server.............45
Câu 2: Cho CSDL DA gồm các lược đồ quan hệ sau:............................................47
Câu 3: hãy viết một thủ tục hệ thống sao lưu csdl trên một ổ đĩa bất kỳ và phục
hồi csdl trên và không ghi đè lên csdl đang sử dụng...............................................50
Câu 4: hãy tạo một tài khoản đăng nhập cho Ngô Tuấn Phong, đặt tên là
PhongNT, pass Phong123. Người dùng này có quyền truy cập vào csdl DA và có
quyền tạo bảng, tạo khung nhìn trên csdl...............................................................50
Đề 4:...........................................................................................................................51
Câu 1: Sao lưu và phục hồi dữ liệu nhằm mục đích gì?Liệt kê............................51
Câu 2:......................................................................................................................... 51
Có bán tại Photo Sỹ Giang
3
Mới
Có bán tại Photo Sỹ Giang
Mới
1. Đồng bộ hóa cơ sở dữ liệu là gì? Mục tiêu và ngữ cảnh ứng dụng của đồng bộ
hóa cơ sở dữ liệu
-Đồng bộ hóa cơ sở dữ liệu (replication) là một bộ công nghệ để sao chép,phân
phối dữ liệu và các đối tượng cơ sở dữ liệu từ một CSDL này tới một CSDL khácvà
cập nhật thay đổi giữa các cơ sở dữ liệu để duy trì sự nhất quán cho CSDL.
-SQL Server đã đưa ra nhiều quy chế nhân bản để đáp ứng các yêu cầu khác
nhau của ứng dụng.Mỗi loại cung cấp các khả năng và thuộc tính khác nhau nhằm đạt
đến mục tiêu chính của tính độc lập của các chương trình ứng dụng và sự nhất quán
dữ liệu.
Đảm bảo an toàn cho CSDL và khả năng truy cập từ xa đến CSDL. Đảm bảo dữ
liệu luôn sẵn sàng trong mọi thời điểm, địa điểm khi cần
-Đồng bộ hóa cơ sở dữ liệu được sử dụng khi:
+sao chép, phân phối dữ liệu trên nhiều server khác nhau
+phân phối bản sao dữ liệu theo lịch trình nhất định
+cho phép nhiều người dùng nhiều server khác nhau , dữ liệu khác nhau 1 cách
thống nhất mà không sợ mất dữ liệu
+xây dựng CSDL sử dụng cho nhiều ứng dụng
+xây dựng ứng dụng wed khi người dùng cần trình bày một số lượng lớn dữ liệu
2. Các thành phần đồng bộ hóa dữ liệu. Mô tả bằng hình vẽ mô hình đồng
bộ hóa một Publisher với một Subcriber
Sơ lược về thành phần của đồng bộ hóa dữ liệu:
Đối tượng: Publisher (máy chủ), Subscriber(máy khách), Distributor (cầu nối
trung gian giữa Publisher và Subscriber)
Dữ liệu đồng bộ hóa: Article (tập csdl được cấu hình đề đồng bộ hóa),
Publication (tập các Article), Subscription (được xem như đơn đặt hàng để nhận các
Article từ nhiều Publisher bao gồm nhiều ràng buộc khi thực hiện phân phối Article)
Dịch vụ: SQL Server Agent
Có bán tại Photo Sỹ Giang
4
Mới
Có bán tại Photo Sỹ Giang
Mới
4. Các thành phần đồng bộ hóa dữ liệu. Mô tả bằng hình vẽ mô hình đồng
bộ hóa một Publisher với nhiều Subcriber
Có bán tại Photo Sỹ Giang
5
Mới
Có bán tại Photo Sỹ Giang
Mới
5. Các thành phần đồng bộ hóa dữ liệu. Mô tả bằng hình vẽ mô hình đồng
bộ hóa nhiều Publisher với một Subcriber
6. Các thành phần đồng bộ hóa dữ liệu. Mô tả bằng hình vẽ mô hình đồng
bộ hóa nhiều Publisher với nhiều Subcriber
Có bán tại Photo Sỹ Giang
6
Mới
Có bán tại Photo Sỹ Giang
Mới
7. . Mô tả các chế độ bảo mật trong SQL Server.?
Các chế độ bảo mật gồm có:
1. Login và user
SQL Server cho phép truy nhập vào hệ thống thông qua các login. Chỉ khi có
quyền ở mức độ nhất định bạn mới có thể tạo thêm login. Trong SSMS bạn có thể
xem các login này bằng cách mở rộng node Security/Logins. Các login này mới chỉ có
quyền truy nhập vào server chứ chưa hẳn đã truy nhập được vào các database chứa
trong đó.
Đến lượt mỗi database lại duy trì một danh sách các user, các user này luôn luôn
đính (mapped) với một login ở mức server. Khi bạn đăng nhập vào SQL Server thông
qua login này, bạn sẽ có quyền truy nhập vào database theo quyền hạn mà user tương
ứng với nó được cung cấp. Bạn xem các user này bằng cách mở rộng node
Security/Users của database tương ứng.
Ví dụ, tôi có một login tên là vuht2000 trong SQL Server. Ở database db1 tôi có
user vuht2000 được gắn với login vuht2000, và user này chỉ có quyền đọc. Ở database
db2 tôi cũng có user vuht2000 được gắn với cùng login trên, và user này có quyền
đọc/ghi. Khi truy nhập vào SQL Server bằng login vuht2000, bạn sẽ có quyền đọc trên
database db1 và đọc/ghi trên database db2.
2. Server role
Role thực chất là tập hợp một nhóm các quyền và đại diện bằng một tên để thuận
tiện cho việc quản lý. Server role là nhóm các quyền ở mức server mà login khi được
cấp sẽ có thể thực hiện một số thao tác nhất định ở mức server. Ví dụ role sysadmin có
toàn quyền hoạt động trong server (tạo database, khởi động lại server…) và tự khắc nó
cũng có quyền truy nhập vào tất cả database, diskadmin chỉ có quyền trong các thao
tác về đĩa (như bổ sung thêm file vào database…). Login khi mới được tạo sẽ có role
public, role này thực chất không có quyền gì ngoài quyền truy nhập vào server. Thông
thường chỉ DBA mới nên có quyền sysadmin, còn các developer chỉ cần role public và
bổ sung thêm khi cần.
Có bán tại Photo Sỹ Giang
7
Mới
Có bán tại Photo Sỹ Giang
Mới
3. Database role
Cũng với mục đích như vậy, database role tập hợp các quyền truy nhập vào
database thành từng nhóm
để dễ tạo lập và sửa đổi. Ví dụ role db_datareader có quyền đọc dữ liệu từ tất cả
các bảng, role db_datawriter có quyền ghi vào tất cả các bảng; role db_owner có
quyền cao nhất trong database (tạo bảng, tạo thủ tục, thực thi thủ tục…). Các user đều
mặc định có role public. Khi user chỉ có role public, user chỉ có thể nhìn thấy tên
database mà không có quyền gì khác.
4. Authentication
SQL Server xác thực các đăng nhập bằng hai cơ chế, windows authentication và
SQL Server authentication. Việc này bắt nguồn từ khi tạo login trong SQL Server. Khi
bạn tạo một login mới, SQL Server sẽ yêu cầu bạn chọn cơ chế xác thực windows hay
SQL Server cho login đó. Nếu chọn windows, bạn cần cung cấp một windows account
và SQL Server sẽ chỉ lưu tên của account đó trong danh sách login. Nếu chọn SQL
Server authentication, bạn cần cung cấp login name và password và cả hai đều được
lưu trong SQL Server.
Khi đăng nhập vào SQL Server, bạn cũng sẽ phải chọn một trong hai cơ chế xác
thực. Nếu chọn windows, chính account hiện đang đăng nhập vào windows được
dùng. Bạn không có quyền chọn login và thực tế, SQL Server sẽ vòng xuống windows
và kiểm tra xem account nào đang đăng nhập vào windows, nó sẽ lấy account đó và
xem có nằm trong danh sách login của nó hay không. Nếu có thì nó cho vào còn nếu
không nó sẽ chặn lại.
Còn với SQL Server authentication thì cơ chế giống như bình thường – bạn cung
cấp login ID và password. SQL Server sẽ kiểm tra và quyết định có cho vào hay
không.
Một điểm cần lưu ý là với login sử dụng windows authentication, SQL Server
chỉ lưu login name và không hề lưu password. Và khi đăng nhập nếu bạn cố tình chọn
sang SQL Server authentication, hệ thống sẽ không xác thực cho bạn.
Có bán tại Photo Sỹ Giang
8
Mới
Có bán tại Photo Sỹ Giang
Mới
8. Phân biệt các dạng người dùng và nhóm quyền (role) trong SQL Server ?
-Dạng người dùng:
+Login: Dùng để truy cập vào hệ thống SQL Server, các Login chỉ mới có
quyền truy cập vào Server chứ chưa hẳn có quyền truy cập vào các Database trên
Server, các quyền truy cập vào Database được gắn liền với các người
+ User: Mỗi Database có một danh sách các người dùng được phép truy cập
CSDL của mình, mỗi user luôn được gắn (mapped) với một login ở mức Server. Khi
bạn đăng nhập vào SQL Server thông qua login này, bạn sẽ có quyền truy cập vào
database theo quyền hạn mà user tương ứng với nó được cấp. Mỗi login có thể gắn với
một hoặc nhiều user với quyền hạn khác nhau trên các Database.
-Các nhóm quyền:
+Select: truy xuất dữ liệu.
+Update:Cập nhập dữ liệu
+Insert:thêm dữ liệu mới
+Delete:xoá dữ liệu
+Execute:thực thi một stored procedure hay một hàm
+References:tạo các đối tượng tham chiếu tới đối tượng này.
+All:có tất cả các quyền đối với đối tượng.
9. Sao lưu và phục hồi cơ sở dữ liệu nhằm mục đích gì. Liệt kê một số
nguyên nhân cần phải xem xét tới việc sao lưu và phục hồi dữ liệu?
Mục đích:
-Sao lưu cơ sở dữ liệu: Sao lưu-backup một cơ sở dữ liệu (CSDL) là tạo một
bản sao CSDL, ta có thể dùng bản sao để khôi phục lại CSDL nếu CSDL bị mất. Bản
sao gồm tất cả những file có trong CSDL kể cả transaction log.
-Phục hồi cơ sở dữ liệu: Việc khôi phục một bản sao lưu CSDL sẽ trả về CSDL
cùng trạng thái của CSDL khi ta thực hiện việc sao lưu. Giao dịch (transaction) nào
không hoàn thành trong khi sao lưu (backup) CSDL được roll back để đảm bảo tính
nhất quán CSDL.
Có bán tại Photo Sỹ Giang
9
Mới
Có bán tại Photo Sỹ Giang
Mới
Khôi phục một bản sao lưu transaction log là áp dụng lại tất cả giao dịch
(transaction) hoàn thành trong transaction log đối với CSDL. Khi áp dụng bản sao lưu
transaction log, SQL Server đọc trước transaction log, roll forward tất cả các
transaction . Khi đến cuối bản sao lưu transaction log, SQL Server roll back tất cả
transaction mà không hoàn thành khi ta bắt đầu thực hiện sao lưu, tạo lại trạng thái
chính xác của CSDL tại thời điểm bắt đầu thực hiện sao lưu.
Một số nguyên nhân cần phải xem xét tới việc sao lưu và phục hồi dữ liệu:
Nguyên nhân khách quan: Sự cố xảy ra ngoài ý muốn, con người không thể biết
trước được, thường là các thảm họa (VD: thiên tai, cháy nổ,…). Do đó cần cất giữ bản
sao ở xa bản chính.
Nguyên nhân chủ quan: Sự cố xảy ra do những thao tác không chính xác của con
người (ví dụ: lỗi phần cứng, lỗi phần mềm, thao tác nhầm…). Do đó cần cất giữ bản
sao ở vị trí sao cho thuận lợi cho việc phục hồi dữ liệu, không nhất thiết phải lưu trữ ở
nơi xa bản chính.
10. Sao lưu dữ liệu là gì? Mô tả các dạng sao lưu dữ liệu trong SQL Server
2008
- Sao lưu CSDL là tạo một bản sao CSDL. Bản sao này có thể được sử dụng để
khôi phục lại CSDL trong trường hợp CSDL gặp sự cố. Bản sao gồm tất cả các tập tin
có trong CSDL và tập tin nhật ký giao dịch ( Transaction log file )
- Transaction log file chứa những dữ liệu thay đổi trong CSDL và được được sử
dụng trong suốt quá trình khôi phục để roll forward những transaction hoàn thành và
roll back những transact chưa hoàn thành.
Các dạng sao lưu dữ liệu ( backup) trong SQL server 2008 )
- Full backup : sao lưu một bản đầy đủ của CSDL trren các phương tiện lưu trữ .
Quá trình full backup có thể tiến hành mà không cần offline CSDL , nhưng quá trình
này lại chiếm một lượng lớn tài nguyên hệ thống và có thể ảnh hưởng nghiêm trọng
tới thời gian đáp ứng các yêu cầu của hệ thống.
- Differential backup : được xây dựng nhằm làm giảm thời gian cần thiết để thực
hiện quá trình full backup. Differential backup chỉ sao lưu những thay đổi trên dữ liệu
Có bán tại Photo Sỹ Giang
10
Mới
Có bán tại Photo Sỹ Giang
Mới
kể từ lần full backup gần nhất. Trong những hệ thống CSDL lớn , quá trình
differential backup sẽ sử dụng tài nguyên ít hơn rất nhiều so với quá trình full backup
và có thể không ảnh hưởng đến hiệu suất của hệ thống.
- Backup Compression là một tính năng mới trong SQL Server 2008. Nó có thể
giảm được đến 20% kích thước vật lý của file gốc. Nếu tính năng này được sử dụng,
Restore sẽ tự động nhận ra file nén này. Tuy nhiên có một điểm yếu đối với tính năng
này đó là chiếm dụng nhiều tài nguyên máy tính trong suốt quá trình backup.
- Transaction log backup : ghi nhận lại một cách thứ tự tất cả các transaction
chứa trong transaction log file kể từ lần transaction log backup gần nhất.
- File or File Group Backup : copy một data file hay một file group
Câu 11: Phục hồi dữ liệu là gì? Mô tả các mô hình phục hồi dữ liệu trong
SQL Server 2008
Trả lời:
Phục hồi dữ liệu (Restore database), có nghĩa là có khả năng phục hồi dữ liệu,
không làm mất mát dữ liệu ,chỉ được thực hiện khi nào máy chủ bị sự cố như hư ổ
cứng hoặc dữ liệu bị mất do người dùng vô tình hoặc cố ý xoá,… Ngoài ra thao tác
phục hổi dữ liệu cũng được thực hiện để sao chép database từ máy chủ này sang máy
chủ khác.
Mô tả các mô hình phục hồi dữ liệu trong SQL SERVER 2008:
Tình huống
Bạn sử dụng bản sao lưu Full để phục hồi database nếu rơi vào một trong hai
trường hợp sau:
Bản sao lưu Full là bản sao lưu gần thời điểm xảy ra sự cố nhất. Nghĩa là từ lúc
tiến hành sao lưu Full đến lúc bị sự cố, bạn không có thêm bất kỳ bản sao lưu
Differential hoặc Transaction log nào khác.
Database chỉ được sao lưu Full mà không sao lưu Differential hoặc Transaction
log. Lý do có thể vì Recovery model của database là SIMPLE khiến bạn không thể
sao lưu Transaction log, hoặc đơn giản vì bạn không tiến hành sao lưu Differential
hoặc Transaction log.
Lưu ý: Nếu muốn phục hồi database từ bản sao lưu Differential hay Transaction
log, bạn vẫn phải phục hồi từ bản sao lưu Full ngay trước đó.
Có bán tại Photo Sỹ Giang
11
Mới
Có bán tại Photo Sỹ Giang
Mới
Các bước tiến hành
Quá trình phục hồi database từ bản sao lưu Full được tiến hành theo 2 bước sau:
1.
Phục hồi bản sao lưu Full từ Disk/Tape/Cloud
2.
Khôi phục bản sao lưu Full vào database bằng lệnh của SQL Server
1. Phục hồi bản sao lưu Full từ Disk/Tape/Cloud
Trước khi tiến hành bất kỳ thao tác khôi phục nào với SQL Server, bạn cần phải
có bản sao lưu Full và tiến hành phục hồi dữ liệu từ bản sao lưu này vào máy tính.
Tùy phần mềm/công cụ sao lưu trước đây, bạn tiến hành phục hồi theo hướng dẫn
tương ứng.
Lưu ý: Không có bản sao lưu thì không thể nói đến chuyện phục hồi hay bất kỳ
thao tác nào khác để khôi phục lại database. Do đó, bạn cần có phương án sao lưu và
lưu trữ an toàn các bản sao lưu.
2. Khôi phục bản sao lưu Full vào database bằng lệnh của SQL Server
Sau khi có được bản sao lưu Full, bạn tiến hành khôi phục database vào SQL
Server bằng lệnh RESTORE DATABASE.
RESTORE
DATABASE ERP
FROM
DISK = ‘E:\SQLRestoreData\DATABASE_ERP.bak’
GO
Mặc định, lệnh RESTORE DATABASE sẽ khôi phục Data file và Log file vào
thư mục trước đây của database (giá trị PhysicalName của lệnh RESTORE
FILELISTONLY). Nếu thư mục này không tồn tại hoặc đã có file khác trùng tên thì
lỗi sau xuất hiện:
File
‘ERP’
cannot
be
restored
to
‘C:\Program
Files\Microsoft
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\ERP_Data.mdf’.
Use
SQL
WITH
MOVE to identify a valid location for the file
Để khắc phục lỗi trên, bạn cần sử dụng tùy chọn MOVE để chỉ định tên thư mục
sẽ chứa Data file và Log file được phục hồi. Nhưng trước hết, bạn cần truy xuất các
thông tin dữ liệu của database bằng lệnh RESORE FILELISTONLY.
RESTORE
FROM
Có bán tại Photo Sỹ Giang
FILELISTONLY ERP
DISK = ‘E:\SQLRestoreData\DATABASE_ERP.bak’
12
Mới
Có bán tại Photo Sỹ Giang
Mới
GO
Sau đó, sử dụng lệnh RESTORE DATABASE với tùy chọn MOVE để khôi
phục database vào thư mục chỉ định.
RESTORE
DATABASE ERP
FROM
DISK = ‘E:\SQLRestoreData\DATABASE_ERP.bak’
MOVE ‘ERP_Data’
TO ‘E:\SQLData\ERP_Data.mdf’
MOVE ‘ERP_Log’
TO ‘E:\SQLData\ERP_Log.ldf’
GO
Sau khi lệnh RESTORE DATABASE được thực thi, database sẽ được khôi phục
hoàn toàn và ở tình trạng có thể sử dụng được. Do đó, bạn không thể tiến hành phục
hồi thêm từ bản sao lưu Differential hay Transaction log.
Lưu ý: Nếu database cần khôi phục bị trùng database đã có trong SQL Server,
lỗi sau sẽ xuất hiện:
Msg
3159,
Level
16,
State
1,
Line
1
The tail of the log for the database “ERP” has not been backed up. Use BACKUP LOG
WITH NORECOVERY to backup the log if it contains work you do not want to lose.
Use the WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just
overwrite
Msg
the
3013,
contents
Level
16,
of
State
the
1,
log.
Line
1
RESTORE DATABASE is terminating abnormally.
Với lỗi này, bạn sử dụng tùy chọn REPLACE để ghi đè database đang có.
RESTORE
FROM
DATABASE ERP
DISK = ‘E:\SQLRestoreData\DATABASE_ERP.bak’
WITH REPLACE
GO
Sau khi lệnh RESTORE DATABASE được thực thi xong, bạn refresh lại mục
Databases trong SSMS và thấy database ERP vừa được phục hồi.
Có bán tại Photo Sỹ Giang
13
Mới
Có bán tại Photo Sỹ Giang
Mới
Câu 12: Thủ tục lưu trữ trong SQL Server là gì? Thủ tục lưu trữ có thể hỗ
trợ cho hoạt động quản trị cơ sở dữ liệu như thế nào?
Trả lời :
Thủ tục lưu trữ trong SQL server (Stored procedure) là: một đối tượng trong
CSDL, bao gồm nhiều câu lệnh T-SQL được tập hợp lại với nhau thành một nhóm, và
tất cả các lệnh này sẽ được thực thi khi thủ tục lưu trữ được thực thi.
Với thủ tục lưu trữ, một phần nào đó khả năng của ngôn ngữ lập trình được đưa
vào trong ngôn ngữ SQL. Thủ tục lưu trữ có thể có các thành phần sau:
-Các cấu trúc điều khiển (IF, WHILE, FOR) có thể được sử dụng trong thủ tục.
-Bên trong thủ tục lưu trữ có thể sử dụng các biến như trong ngôn ngữ lập trình
nhằm lưu giữ các giá trị tính toán được, các giá trị được truy xuất được từ cơ sở dữ
liệu.
Thủ tục lưu trữ có thể hỗ trợ cho hoạt động quản trị cơ sở dữ liệu :
Một tập các câu lệnh SQL được kết hợp lại với nhau thành một khối lệnh bên
trong một thủ tục. Một thủ tục có thể nhận các tham số truyền vào cũng như có thể trả
về các giá trị thông qua các tham số (như trong các ngôn ngữ lập trình). Khi một thủ
tục lưu trữ đã được định nghĩa, nó có thể được gọi thông qua tên thủ tục, nhận các
tham số truyền vào, thực thi các câu lệnh SQL bên trong thủ tục và có thể trả về
các giá trị sau khi thực hiện xong. Lợi ích của việc sử dụng thủ tục lưu trữ:
SQL Server chỉ biên dịch các thủ tục lưu trữ một lần và sử dụng lại kết quả
biên dịch này trong các lần tiếp theo trừ khi người dùng có những thiết lập khác. Việc
sử dụng lại kết quả biên dịch không làm ảnh hưởng đến hiệu suất hệ thống khi thủ tục
lưu trữ được gọi liên tục nhiều lần.
Có bán tại Photo Sỹ Giang
14
Mới
Có bán tại Photo Sỹ Giang
Mới
Thủ tục lưu trữ được phân tích, tối ưu khi tạo ra nên việc thực thi chúng nhanh
hơn nhiều so với việc phải thực hiện một tập rời rạc các câu lệnh SQL t ương đương
theo cách thông thường.
Thủ tục lưu trữ cho phép chúng ta thực hiện cùng một yêu cầu bằng một câu
lệnh đơn giản thay vì phải sử dụng nhiều dòng lệnh SQL. Điều này sẽ làm giảm thiểu
sự lưu thông trên mạng.
Thay vì cấp phát quyền trực tiếp cho người sử dụng trên các câu lệnh SQL và
trên các đối tượng cơ sở dữ liệu, ta có thể cấp phát quyền cho người sử dụng thông
qua các thủ tục lưu trữ, nhờ đó tăng khả năng bảo mật đối với hệ thống.
Câu 13: Kích hoạt (Trigger) là gì? Đặc điểm của Trigger. Trigger được sử dụng
như thế nào trong việc đảm bảo tính toàn vẹn của của dữ liệu?
Trả lời :
Kích hoạt ( Trigger) là : Triger có thể xem là một dạng đặc biệt của thủ tục nội
tại, bởi vì bên trong nội dung của triger lưu trữ các câu lệnh dùng để thực hiện một số
hành động nào đó mà người lập trình sẽ chỉ ra.
Đặc điểm của Trigger :
Khác với thủ tục nội tại, trigger hoàn toàn không có tham số. Ngoài ra chúng ta
có thể gọi thực hiện trực tiếp trigger bằng lệnh EXECUTE như thủ tục nội tại hoặc
bằng bất kỳ một lệnh nào khác, thay vào đó trigger sẽ được thực hiện một cách tự
động khi dữ liệu của bảng có liên quan đến trigger bị cập nhật. Chính nhờ vào tính
năng đặc biệt là tự động thực hiện mà nội dung các lệnh bên trong trigger được dùng
cho các công việc sau :
Kiểm tra các ràng buộc toàn vẹn dữ liệu phức tạp.
Thực hiện các xử lý được thiết kế thi hành tại server (trong mô hình
client/server). Các xử lý mà ta muốn chúng sẽ được tự động thực hiện khi có thao tác
INSERT, UPDATE hoặc DELETE xảy ra.
Trigger cũng được dùng để thay thế các constraint trong trường hợp ta muốn
việc kiểm tra ràng buộc dữ liệu kèm theo các câu thông báo thích hợp theo ý muốn
người dùng.
Trigger được sử dụng trong việc đảm bảo tính toàn vẹn của CSDL:
Trên SQL Server, có 2 cách thực hiện ràng buộc toàn vẹn dữ liệu :
Có bán tại Photo Sỹ Giang
15
Mới
Có bán tại Photo Sỹ Giang
Mới
Ràng buộc toàn vẹn dữ liệu bằng phương pháp mô tả (declarative data
integrity).
Thực hiện ràng buộc dữ liệu theo phương pháp này chính là các công việc xác
định ràng buộc khóa chính, khóa ngoại, kiểm tra miền giá trị, … và mô tả chúng tại
thời điểm tạo table.
Đặc điểm cần biết của phương pháp này là việc kiểm tra sẽ được thực hiện
trước khi cho phép ghi vào table.
Ràng buộc toàn vẹn dữ liệu bằng phương pháp theo thủ tục (procedural data
integrity).
Trong phương pháp này, việc ràng buộc toàn vẹn dữ liệu được xác định bởi tập
hợp các câu lệnh T-SQL. Các câu lệnh chứa bên trong đối tượng Trigger, chúng sẽ
được gọi thi hành khi có thao tác thêm, xóa, hoặc sửa dữ liệu xảy ra trên table tương
ứng.
Đặc điểm cần biết của phương pháp này là việc kiểm tra sẽ được thực hiện sau
khi dữ liệu được ghi vào table.
Câu 14: Triger là gì? Có mấy loại Triger và trường hợp ứng dụng của từng
loại
Trả lời:
Trigger là một kiểu stored procedure đặc biệt được kích nổ (thực thi) một cách
tự động khi xảy ra một sự kiện trên Database server và không thể thực thi bằng tay.
Trigger ược chia ra làm hai nhóm: DML và DDL trigger.
+ DML triggers (hay Standart triggers) thực thi khi một người sử dụng cố gắng
sửa đổi dữ liệu thông qua sự kiện thao tác dữ liệu (data manipulation language DML) INSERT, UPDATE, hoặc DELETE trên bảng hoặc view. DML triggers thường
được sử dụng trong chính sách đảm bảo các quy tắc thương mại hoặc đảm bảo tính
toàn vẹn dữ liệu.
+ DDL triggers được thực thi đáp ứng các sự kiện định nghĩa lược đồ dữ liệu
(data definition language - DDL). Nhóm lệnh chính của các lệnh định nghĩa lược đồ
dữ liệu là CREATE, ALTER, và DROP. Nhóm DDL trigger là nhóm trigger mới
được bổ xung trong SQL Server 2005 Database Engine.
Có bán tại Photo Sỹ Giang
16
Mới
Có bán tại Photo Sỹ Giang
Mới
Câu 15: Ngôn ngữ T-SQL trong SQL Server có những điểm khác biệt gì so
với SQL chuẩn? Sự khác biệt này giúp ích gì cho hoạt động quản trị cơ sở dữ liệu
trong môi trường SQL Server.
Trả lời:
Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO
(International Organization for Standardization) và ANSI (American National
Standards Institute) được sử dụng trong SQL Server khác với P-SQL (ProceduralSQL) dùng trong Oracle
Câu 16: Hệ quản trị cơ sở dữ liệu là gì? Mô tả ba dịch vụ cơ bản của SQL
Server
(từ phiên bản 2008).
Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS): Là một hệ
thống phần mềm cho phép tạo lập cơ sở dữ liệu và điều khiển mọi truy nhập đối với
cơ sở dữ liệu đó.
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relation
Database Management System - RDBMS), cung cấp cách tổ chức dữ liệu bằng cách
lưu chúng vào các bảng. Dữ liệu quan hệ được lưu trữ trong các bảng và các quan hệ
đó được định nghĩa giữa các bảng với nhau.
Người dùng truy cập dữ liệu trên Server thông qua ứng dụng. Người quản
trị CSDL truy cập Server trực tiếp để thực hiện các chức năng cấu hình, quản trị và
thực hiện các thao tác bảo trì CSDL.
Ngoài ra, SQL Server là một CSDL có khả năng mở rộng, nghĩa là chúng
có thể lưu một lượng lớn dữ liệu và hỗ trợ tính năng cho phép nhiều người dùng truy
cập dữ liệu đồng thời.
Mô tả ba dịch vụ cơ bản của SQL Server ( từ phiên bản 2008):
Gồm các dịch vụ cơ bản sau:
Dịch vụ MS SQL Server:
Dùng quản lý tất cả các file gồm các CSDL mà SQL Server quản lý, là thành
phần xử lý tất cả các lệnh của Transact-SQL được gửi từ các trình ứng dụng client,
phân phối các nguồn tài nguyên khi có nhiều user cùng truy nhập một lúc. Đây là dịch
Có bán tại Photo Sỹ Giang
17
Mới
Có bán tại Photo Sỹ Giang
Mới
vụ quản trị cơ bản, khi ngắt dịch vụ này hệ thống sẽ ngưng tất cả các công việc khai
thác dữ liệu.
Dịch vụ SQL Server Agent:
Hỗ trợ các tính năng cho phép lập thời biểu các hoạt dộng theo từng giai đoạn
tren SQL Server, hoặc thông báo cho người quản lý hệ thống về những sự cố của hệ
thống, bao gồm các thành phần Jobs, Alerts, Operator.
Dịch vụ Microsoft Search.
Cung cấp dịch vụ tìm kiếm và tìm kiếm văn bản với các phép toán cơ bản sau:
+ Ký tự (chuỗi): =, >, >=, <, <= được so sánh với một chuỗi hằng.
+ So sánh chuỗi nhỏ trong văn bản hoặc chuỗi có kích thước lớn, văn bản.
Có bán tại Photo Sỹ Giang
18
Mới
Có bán tại Photo Sỹ Giang
Mới
Dịch vụ MS DTC.
Là dịch vụ cho phép trong một phiên giao vận có thể sử dụng dữ liệu được phân
phối trên nhiều server khác nhau, thực hiện theo các bước cơ bản sau:
+ Gọi các thủ tục lưu trữ trên các server xa sử dụng SQL Server
+ Tự động gọi hoặc tạo các phiên giao vận cục bộ và các giao vận với các máy
chủ từ xa
+ Tạo bộ dữ liệu được cập nhật hoặc được phân phối bởi các server xa. Xem xét
sơ đồ hoạt động sau:
Có bán tại Photo Sỹ Giang
19
Mới
Có bán tại Photo Sỹ Giang
Mới
Như sơ đồ trên khi client triệu gọi một thủ tục có sẵn đến server cục bộ, khi
có yêu cầu dữ liệu trên server khác, thông qua dịch vụ MS DTC server cục bộ sẽ triệu
gọi các thủ tục từ server từ xa, kết quả có thể tạo được bộ dữ liệu được tập trung từ
nhiều server khác nhau:
Có bán tại Photo Sỹ Giang
20
Mới
- Xem thêm -