Giáo trình SQL Server (Phần 2)
Các loại bản sao lưu cơ sở dữ liệu
1) Full backup:
Full backup là một bản sao lưu đầy đủ của cơ sở dữ liệu tr ên 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 ẩn cơ sở dữ liệu, 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.
2) Diferential backup:
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 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.
Quá trình differential chỉ sao lưu những sự thay đổi của dữ liệu từ lần full
backup gần nhất, do đó khi có sự cố với cơ sở dữ liệu nếu không có bản sao lưu của
quá trình full backup thì b ản sao lưu của quá trình differential backup s ẽ trở nên vô
nghĩa.
Ví dụ trong chương trình Quản lý tuyển sinh của một trường Đại học, ta thực
hiện full backup vào cuối ngày thứ 6 hàng tuần và thực hiện differential backup
vào t ối các ngày từ thứ 2 tới thứ 5. Nếu cơ sở dữ liệu có sự cố v ào sáng thứ 4,
quản trị viên cơ sở dữ liệu sẽ phục hồi dữ liệu bằng bản sao lưu của quá trình full
backup c ủa ngày thứ 6 tuần trước và sau đó phục hồi các thay đổi của dữ liệu bằng
cách áp dụng bản sao lưu của quá trình differential backup vào ngày thứ 3.
3) Transaction log backup:
Quá trình full bac kup và differential backup chiếm nhiều tài nguyên hệ
thống và ảnh hưởng đến hiệu suất làm việc hệ thống nên thường được thực hiện
vào sau giờ làm việc. Tuy nhiên điều này có thể dẫn đến các mất mát dữ liệu trong
một ng ày làm việc nếu cơ sở dữ liệu có sự cố trước khi quá trình sao lưu diễn ra.
Transaction log backup là một giải pháp nhằm giảm thiểu tối đa lượng dữ liệu có thể
mất khi có sự cố cơ sở dữ liệu.
Trong quá trình hoạt động, SQL Server sử dụng transaction log để theo dõi tất
cả các thay đổi trên cơ sở dữ liệu. Log bảo đảm cơ sở dữ liệu có thể phục hồi sau
những sự cố đột xuất và cũng đảm bảo người dùng có thể quay ngược các kết quả
trong các giao tác cơ sở dữ liệu. Các giao tác chưa hoàn thành được lưu trong log
trước khi được lưu vĩnh viễn trong cơ sở dữ liệu.
Transaction log backup sao lưu transaction log của cơ sở dữ liệu vào thiết bị
lưu trữ. Mỗi khi transaction log được sao lưu, SQL Server bỏ đi các transaction
đã thực hiện thành công (committed tracsaction) và ghi các transaction vào phương
tiện sao lưu. Transaction log backup sử dụng tài nguyên hệ thống ít hơn rất nhiều so
với full backup và differential backup , do đó có thể sử dụng transaction log backup
bất kỳ thời gian nào mà không sợ ảnh hưởng đến hiệu suất hệ thống.
Trở lại với ví dụ cơ sở dữ liệu quản lý tuyển sinh. Trường Đại học này thực
hiện full backup vào tối thứ 6 và differential backup vào tối từ thứ 2 tới thứ 5.
Trường Đại học thực hiện thêm quá trình transaction log backup mỗi giờ một lần.
Giả sử sự cố cơ sở dữ liệu xảy ra vào 9h:05 sáng thứ 4. Quá trình khôi phục lại cơ
sở dữ liệu như sau: Dùng full backup và differential backup của tối thứ 6 và tối thứ
3 để phục hồi lại trạng thái cơ sở dữ liệu vào tối thứ 3. Tuy nhiên quá trình này vẫn
còn để mất dữ liệu trong 2 giờ (7 – 9h) sáng thứ 4. Tiếp theo sử dụng 2 bản sao lưu
transaction backup lúc 8h và 9h sáng để khôi phục CSDL về trạng thái lúc 9h sáng
thứ 4
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Giáo trình SQL Server (Phần 2)
nh đề 2 là lý do để phát biểu mệnh đề 1. b. Cả hai mệnh đề đều đúng nhưng mệnh đề 2 không phai là nguyên nhân để giải thích mệnh đề 1. c. Chỉ mệnh đề 2 là đúng d. Cả hai mệnh đề đều sai 17. Một ràng buộc khoá chính không được xoá đi nếu nó được tham chiếu bởi một ràng buộc khoá ngoại trong một bảng khác; ta phải xoá ràng buộc khoá ngoại trước. a. Đúng b. Sai 18. Mệnh đề nào dưới đây là ĐÚNG khi đề cập tới ràng buộc duy nhất (UNIQUE constraint)? a. Ràng buộc duy nhất được dùng khi muốn áp đặt tính duy nhất cho một cột không phải là Khoá chính . b. Chỉ có ràng buộc duy nhất có thể được định nghĩa trong một bảng. c. Ràng buộc duy nhất có thể được tham chiếu bởi một ràng buộc khoá ngoại . d. Ràng buộc khoá chính có thể được định nghĩa trên các cột có chứa giá trị null. 19. Nhóm quyền nào sau đây cho phép dùng hay kết thúc đối tượng SQL Server 2008 đang chạy. a. SysAdmin b.ServerAdmin c. ProcessAdmin d. SetupAdmin 20. SQL Server cung cấp mấy chế độ xác thực là chế độ xác thực. a. 2 b.3 c. 4 d. 5 21. Mệnh đề 1: Khoá ngoại có thể được nối với duy nhất một cột có ràngbuộc Khoá chính ở bảng khác. Mệnh đề 2: Ràng buộc khoá ngoại có thể được định nghĩa để liên kết với một ràng buộc duy nhất (UNIQUE constraint) ở bảng khác. a. Chỉ mệnh đề 1 là đúng b. Chỉ mệnh đề 2 là đùng c. Cả hai mệnh đề đều đúng d. Cả hai mệnh đề đều sai 22. Khi thêm một ràng buộc CHECK vào bảng, ràng buộc CHECK này sẽ được áp dụng cho cả các dữ liệu cũ và mới. a. Đúng b. Sai 23. Mệnh đề 1: Inner Join loại bỏ các dòng không khớp nhau từ các bảng thành phần. Mệnh đề 2: Outer Join trả về tất cả các dòng từ ít nhất một trong số các bảng được liệt kê trong mệnh đề FROM miễn là các dòng này thoả mãn điều kiện của mệnh đề WHERE hoặc HAVING. a. Chỉ mệnh đề 1 là đúng b. Chỉ mệnh đề 2 là đúng c. Cả hai mệnh đề đều đúng d. Cả hai mệnh đề đều sai 24. Câu lệnh nào sau đây thuộc loại ngôn ngữ DCL? a. Câu lệnh CREATE b. Câu lệnh DENY Tập bài giảng SQL Server 299 c. Câu lệnh INSERT d. Câu lệnh UPDATE 25. AdventureWorks là loại cơ sở dữ liệu nào? a. Cơ sở dữ liệu người dùng định nghĩa b. Cơ sở dữ liệu mẫu c. Cơ sở dữ liệu hệ thống 26. Đâu là biến cục bộ? a. @@ERROR b. @@IDENTITY c. @@CPU_BUSY d. @@CURSOR_ROWS 27. Câu lệnh nào dùng để khai báo biến? a. Declare @diem b. set @diem=10 c. select @diem=10 d. set @kq=1 28. Điều gì sẽ xảy ra nếu như có các bản ghi tham chiếu tới các bản ghi đang bị xoá đi? a. Không thể xoá thành công b. Các bản ghi trong bảng hiện thời sẽ bị xoá đi. c. Các bản ghi trong bảng hiện thời và các bảng ghi liên quan tới nó sẽ bị xoá đi. 29. Đoạn chương trình sau đây trả về giá trị nào? CREATE PROCEDURE sp_TestOutput1 @a int, @b int, @c int output AS BEGIN select @c = @a + @b END GO Declare @tong int set @tong = 0 exec sp_TestOutput1 100, 200, @tong output select @tong a. 0 b. 300 30. Dùng câu lệnh nào để xoá tất cả các dòng trong một bảng? a. DROP table b. DELETE ROWS c. DELETE TABLE d. TRUNCATE TABLE 31. Câu lệnh Create Table thuộc loại câu lệnh nào trong số các câu lệnh SQL dưới đây? a. DML b. DCL c. CCL d. DDL e. DQL 32. Chỉ ra câu lệnh thực hiện việc tăng đồng loạt giá sách lên 10 %. Tập bài giảng SQL Server 300 a. UPDATE Sach SET Gia*10/100; b. UPDATE Sach SET Gia=Gia*10/100; c. UPDATE Gia=Gia+Gia*10/100 FROM Sach; d. UPDATE Sach SET Gia=Gia+Gia*10/100; 33. Mệnh đề 1: Khoá có giá trị như là Khoá chính (Primary Key) được gọi là khoá thứ cấp (Secondary Key). Mệnh đề 2.Khoá ứng viên (Candidate key) không được dùng làm khoá chính (Primary Key) thì được gọi là khoá thay thế (Alternate Key) a. Mệnh đề 1 là đúng b. Mệnh đề 1 là sai c. Mệnh đề 2 là đúng d. Mệnh đề 2 là sai 34. Thực hiện hành động nào sau đây mà bảng Inserted có chứa dữ liệu? a. Update b. Delete c.Select 35. Loại hàm nào sau đây được sử dụng để trả cũng trả về kết quả là một tập hợp nhưng chỉ dựa trên một câu lệnh SQL duy nhất. a. Scalar b. Inline table-valued c. Multi-statement table-value 36. __________ đảm bảo rằng các mối quan hệ được định nghĩa giữa các bảng là đúng đắn và các hiện tượng xoá/sửa không hợp lệ không thể xảy ra. a. Toàn vẹn thực thể b. Toàn vẹn miền c. Toàn vẹn do người dùng định nghĩa (User-defined integrity) d. Toàn vẹn tham chiếu 37. Để xem trường ngày sinh với giá trị từ 10/02/2004 đến 12/02/2004 trong bảng Sinh viên, ta sẽ dùng câu lệnh nào dưới đây? a. SELECT * FROM SV WHERE ns BETWEEN "10/02/2004" AND "12/02/2004"; b. SELECT * FROM SV WHERE ns BETWEEN #10/02/2004# AND #12/02/2004#; c. SELECT * FROM SV WHERE ns NOT BETWEEN #10/02/2004# AND #12/02/2004#; 38. Thực hiện hành động nào sau đây mà bảng Inserted không chứa dữ liệu? a. Update b. Delete c. Insert 39. Biến toàn cục nào sau đây trả về số lượng các bản ghi được trỏ đến gần đây nhất? a. @@ERROR b. @@CONNECTIONS c. @@CPU_BUSY d. @@CURSOR_ROWS 40. Câu lệnh nào dưới đây trả về số lượng các sinh viên? Tập bài giảng SQL Server 301 a. Select count(Masv) from SV b. Select sum(Masv) from SV c. Select max(MaSV) from SV d. Select MaSV from SV where count(MaSV) >0 41. Kích thước của kiểu CHAR là bao nhiêu? a. 2 bytes b. 8 bytes c. 1 byte d. 4 bytes 42. Ta có thể dùng lệnh ALTER TABLE để xoá các ràng buộc trong bảng. a. Đúng b. Sai 43. Đâu là biến toàn cục ? a. @sv b. @kq c. @diem d. @@CURSOR_ROWS 44. Kỹ thuật nào dưới đây được dùng để thiết lập sự toàn vẹn thực thể? a. Primary Key b. Unique Key c. Foreign Key d. Identity Property e. Check Key f. Default Key 45. Muốn xoá tất cả các dòng trong bảng SV mà không tốn tài nguyên của hệ thống và không ghi trong các bản nhật kí giao dịch (transaction log). Ta sẽ dùng câu lệnh nào? a. Truncate b. Delete c. Drop d. Không thể dùng câu lệnh nào để thực hiện được yêu cầu đã nêu. 46. Xác định câu lệnh đúng để xem các bản ghi về khách hàng (KH) có DC. a. SELECT * from KH where DC IS NOT NULL b. SELECT * from KH where DC = NOT NULL c. SELECT * from KH where DC NOT NULL d. SELECT * from KH where HAVING DC NOT NULL 47. Join hay các truy vấn con (subquery) chạy nhanh hơn? a. Joins b. Subqueries 48. Giả sử bạn đang làm việc trong một dự án cơ sở dữ liệu thư viện (Library project). Bạn phải thiết kế một cơ sở dữ liệu cho hệ thống đó. Việc vận hành hệ thống này sẽ thường xuyên thay đổi vị trí các bản ghi. Bạn nên dùng loại câu lệnh SQL nào? a. DQL b. DML c. DCL d. DDL e. CCL 49. Thực hiện hành động nào sau đây mà bảng Deleted không chứa dữ liệu? a. Update b. Delete c. Insert 50. Tệp cơ sở dữ liệu nào dưới đây luôn tồn tại trong cơ sở dữ liệu? a. Các tệp dữ liệu sơ cấp (Primary data files) b. Các tệp dữ liệu thứ cấp (Secondary data files) c. Các tệp nhật kí (Log files) Tập bài giảng SQL Server 302 d. Các tệp dữ liệu lệnh (Command data files) 51. Loại hàm nào sau đây được sử dụng để trả cũng trả về kết quả là một tập hợp nhưng có thể dựa trên nhiều câu lệnh SQL a. Scalar b. Inline table-valued c. Multi-statement table-value 52. Đoạn chương trình sau đây trả về giá trị nào? CREATE PROCEDURE sp_TestOutput3 @a int, @b int AS BEGIN declare @c int select @c = @a + @b return @c END GO Declare @tong int exec @tong = sp_TestOutput3 100, 200 select @tong a. 0 b. 300 53. Tìm ra phát biểu đúng về toàn vẹn tham chiếu. a. Toàn vẹn tham chiếu đảm bảo mối quan hệ giứa các bảng không bị mất khi thao tác trên các bản ghi của chúng. b. Toàn vẹn tham chiếu không đảm bảo tính nhất quán về giá trị của trường khóa trong các bảng. c. Toàn vẹn tham chiếu đảm bảo khi giá trị của trường khóa bị thay đổi, tất cả các tham chiếu đến nó cũng được thay đổi theo. 54. Nhóm quyền nào sau đây cho phép thực hiện mọi thao tác trên SQL Server 2008 a. SysAdmin b.ServerAdmin c. ProcessAdmin d. SetupAdmin 55. Khi hai hay nhiều trường được liên kết với nhau mà xác định mỗi dòng trong bảng là duy nhất, thì khóa chính được gọi là _________ a. Composite key (Khóa kết hợp) b. Candidate key (Khóa ứng viên) c. Alternate key (Khóa thay đổi) 56. _________ đảm bảo hạn chế giá trị đưa vào đối với một trường cụ thể. Tập bài giảng SQL Server 303 a. Toàn vẹn thực thể b. Toàn vẹn miền c. Toàn vẹn tham chiếu 57. ________là một trường hay một tập hợp các trường mà giá trị của chúng trùng với khóa duy nhất trong một bảng khác. a. Khóa chính (Primary key) b. Khóa phụ (Secondary key) c. Khóa ngoại (Foreign key) 58. Biến toàn cục nào sau đây trả về số lượng nghìn trên giây hệ thống đã được xửlý khi SQL Server được bắt đầu. a. @@ERROR b. @@CONNECTIONS c. @@CPU_BUSY d. @@CURSOR_ROWS 59. Có mấy loại trigger? a. 3 b. 1 c. 5 d. 6 60. Câu lệnh nào sau đây thuộc loại ngôn ngữ DML? a. Câu lệnh CREATE b. Câu lệnh SELECT c. Câu lệnh GRANT d. Câu lệnh DROP 61. _________ quy định không một thành phần nào của khóa chình trong một bảng cơ sở được phép chứa giá trị NULL. a. Toàn vẹn tham chiếu b. Toàn vẹn miền c. Toàn vẹn trường d. Toàn vẹn thực thể 62. Thực hiên hành động nào sau đây mà các dòng dữ liệu cũ chịu sự tác động của câu lệnh sẽ được sao chép vào bảng DELETED, còn trong bảng INSERTED sẽ là các dòng dữ liệu mới. a. Update b. Delete c. Insert 63. Thực thi một lệnh truy xuất dữ liệu trong cơ sở dữ liệu được gọi là _________ a. Giao dịch b. Truy Vấn c. Thao tác d. Câu lệnh 64. Loại Trigger nào sau đây mà là loại ngầm định, sẽ thực hiện các lệnh bên trong Trigger sau khi đã thực hiện xong sự kiện kích hoạt Trigger. a. INSTEAD OF b. AFTER c. FOR 65. SQL Server được thiết kế theo mô hình Clien/Server a. Đúng b. Sai Tập bài giảng SQL Server 304 66. SQL Server 2008 dựa trên ___________ a. Mô hình Flat-File b. Mô hình phân cấp c. Mô hình mạng c. Mô hình quan hệ 67. Cơ sở dữ liệu nào sau đây là cơ sở hệ thống trong SQL Server 2008? a. msdb b. northwind c. pubs D. QLTS 68. Có bao nhiêu kiểu cơ sở dữ liệu trong SQL Server 2008? a. 1. b. 2 c.3 d.4 69. SQL Server 2008 kiểm tra người dùng hợp lệ ở hai cấp độ ______________ a. SQL Server Authentication b. System Authentication c. Login Authentication 70. Đối với mỗi một bảng hoặc chỉ mục, các hàng dữ liệu được lưu trữ liên tiếp nhau _____trang dữ liệu . a. 4 KB b. 8 KB c. 16 KB 71. Microsoft SQL Server 2008 Database Engine là dịch vụ chính để ____________________ dữ liệu. a. Sắp xếp, xử lý và bảo mật b. Kiểm tra, xử lý và bảo mật c. Sắp xếp, nén và bảo mật d. Sắp xếp, xử lý và khôi phục 72. Chế độ xác thực nào sau đây mà khi đăng nhập vào SQL Server người dùng cần phải cung cấp User Name và Password. a. Windows Authentication b. SQL Server Authentication 73. Những câu nào sau đây cho biết những tính năng cơ bản của SQL Server 2005? a. Tích hợp với Internet b. Mềm dẻo (Scalability) và Availability (Mở rộng) d. Kho dữ liệu e. Hỗ trợ mô hình Client/Server. f. Tất cả các phương án trên 74. Biến toàn cục nào sau đây trả về số lượng các kết nối đến Server kể từ kết nốicuối cùng được bắt đầu. a. @@ERROR b. @@CONNECTIONS c. @@CPU_BUSY d. @@CURSOR_ROWS 75. Mục đích sử dụng toán tử IN ? a. So sánh 2 giá trị giống nhau b. Hạn chế kết quả trả về trong danh sách tập kết quả Tập bài giảng SQL Server 305 c. Thực hiện so sánh các đẳng thức d. Đánh giá phạm vi của giá trị 76. Câu lệnh SELECT DATEPART(day,‟01/15/2000‟) trả về giá trị nào sau đây ? a. 4 b. 15 c. 5 d. 6 77. Xác định câu lệnh truy vấn mà trả về tất cả tên trong bảng sinh viên chứa ký tự 'L', nhưng không phải là ký tự đầu tiên. a. SELECT * FROM SV WHERE Names LIKE „L‟ b. SELECT hoten FROM SV WHERE Name LIKE „%L‟ c. SELECT * FROM SV WHERE Name LIKE „&L‟ d. SELECT * FROM SV WHERE Name LIKE „%L%‟ e. SELECT hoten FROM SV WHERE Name LIKE „[^L]%L%‟ 78. Kết quả của POWER(6, 2) là bao nhiêu? a. 12 b. 3 c.36 d. 4 79. Hàm _______ trong SQL Server trả về ngày hiện tại. a. getdate() b. now() c. date() d. currentdate() 80. Microsoft SQL Server hỗ trợ hai loại chú thích sau: a. -- (hai dấu trừ ) b. * c. ' 81. Câu lệnh SELECT DATEDIFF(mm,‟01/01/99‟,‟05/01/99‟) trả về giá trị nào sau đây ? a. 4 b. 1 c. 5 d. 6 82. Câu lệnh nào sau đây thuộc loại ngôn ngữ DLL? a. Câu lệnh CREATE b. Câu lệnh SELECT c. Câu lệnh INSERT d. Câu lệnh UPDATE 83. Kiểu dữ liệu nào lưu trữ dữ liệu kí tự, nó được cố định kích thước và có hỗ trợ Unicode? a. nchar b. nvarchar c.char d. text. 84. Kiểu dữ liệu nào sẽ sử dụng 4 byte trong bộ nhớ máy tính, thường được sử dụng để lưu trữ giá trị số nguyên. a. int b. smallint c.char d. text. 85. Biến toàn cục nào sau đây trả về số lượng lỗi của T-SQL gần nhất. a. @@ERROR b. @@CONNECTIONS c. @@CPU_BUSY d. @@CURSOR_ROWS 86. Loại hàm nào sau đâyđược sử dụng để trả về một duy nhất một giá trị dựa trên một số các tham số truyền vào. a. Scalar b. Inline table-valued Tập bài giảng SQL Server 306 c. Multi-statement table-value 87. Loại Trigger nào sau đây mà hoạt động của sự kiện gọi trigger sẽ bị bỏ qua và thay vào đó là các lệnh trong trigger được thực hiện. a. INSTEAD OF b. AFTER c. FOR 88. Loại sao lưu nào sau đây sao lưuđầyđủcơ sởtrêncácphương tiệnlưutrữ. a. Fullbackup b. Diferential backup c. Transactionlogbackup 89. Nhóm quyền nào sau đây cho phép thêm hay loại bỏ đối tượng liên kết SQL Server 2008 a. SysAdmin b.ServerAdmin c. ProcessAdmin d. SetupAdmin 90. Chế độ xác thực nào sau đây mà người sử dụng có thể đăng nhập vào SQL Server mà không cần cung cấp User Name và Password. a. Windows Authentication b. SQL Server Authentication Tập bài giảng SQL Server xii TÀI LIỆU THAM KHẢO [1]. Nguyễn Thiên Bằng, Phương Lan. Giáo trình SQL Server 2000. NXB Lao động- Xã hội. 2005. [2]. Phạm Hữu Khang, Phương Lan. Microsoft SQL Server 2008 Quản trị cơ sở dữ liệu. Tập 1, tập 2. NXB Lao động-Xã hội. 2009. [3]. Phạm Hữu Khang. Lập trình ứng dụng chuyên nghiệp SQL Server 2008. NXB Lao động-Xã hội. 2007. [4]. Nguyễn Ngọc Minh, Hoàng Đức Hải. Tự học Microsoft SQL Server 2000. NXB Lao động-Xã hội. 2005. [5]. SQL Server 2005, T-SQL Recipes: Problem, Solution, Approach – Appress Publisher. [6]. Sams Teach yourself Microsoft SQL Server 2005 Express in 24 hours. [7]. Biil Hamilton. Programming SQL Server 2005. O‟Reilly, 2006 [8]. Robert Vieira. Beginning Microsoft SQL Server 2008 Programming. Wrox, 2008. [9]. Rodney Landrum, Shawn McGehee and Walter J. Voytec. Pro SQL Server 2008 Reporting Services, Apress, 2008 [10]. Robert D. Schneider and Darril Gibson. Microsoft SQL Server 2008 All-in-One Desk Reference For Dummies, 2008. [11]. Thomas Rizzo, Adam Machanic, Robin Dewson, Rob Walters, Joseph Sack, Julian Skinner, Louis Davidson. Pro SQL Server 2005, Apress, 2006. [12]. Rob Walters, Michael Coles, Robin Dewson, Fabio Claudio Ferracchiata, Jan D. Narkiewicz, and Robert Rae. Accelerated SQL Server, Apress, 2008.
File đính kèm:
- giao_trinh_sql_server_phan_2.pdf