Để bắt đầu học SQL thì ngoài một tâm thế thoải mái chúng ta còn cần chuẩn bị một cơ sở dữ liệu mẫu. Có như vậy thì ta mới “xào nấu” dữ liệu được
I. “Đẩy” ẻm vào thui
Nói là “đẩy” chứ thật ra trong giao diện SSMS chức năng này có tên là Restore. Hồi đầu mình cũng thắc mắc sao lại là Restore mà không phải Import nhưng sau này nghĩ kỹ lại thì khi chúng ta sao lưu (Backup) một CSDL thì từ đối ngược với nó rõ ràng là phục hồi (Restore) đúng hông nè 😁
Lưu ý là ngoài Restore chúng ta còn có chức năng Attach nữa. Hai chức năng này tưởng 1 nhưng là 2 chức năng siêu siêu khác nhau. Các bạn có thể đọc thêm bài viết sau của mình để hiểu hơn
Cái này hay nè mọi người
Còn nếu các bạn ngại đọc một bài siêu phân tích thì có thể dùng bảng so sánh tối giản sau để nắm sơ sơ sự khác biệt bề ngoài của 2 tên này nè:
| ✨ Attach | ✨ Restore |
| – Ra 1 file chính đuôi .mdf, 1 file log đuôi .idf – Sau khi Detach sẽ không còn thấy Database | – Ra file đuôi .bak – Vẫn còn Database khi chọn Backup |
Trước hết việc ta cần làm là tải cái DB mẫu này về đã nhen
Link tải: Click vào đây nè

Các bạn chọn phiên bản OLTP nhen, bài viết tiếp theo mình sẽ giải thích chi tiết OLTP và Data Warehouse. Như mọi người thấy thì phiên bản mới nhất dừng ở năm 2019, hổng biết khi nào có bản mới nhất hen 😢mà thui kệ bản này cũng đủ để anh em mình cày cuốc lên Master rùi.
Okay tải xong rồi thì mình sẽ có một file có đuôi là .bak, bây giờ mình tiến hành Restore hen. Có 2 cách để restore 1 DB:
1. Dùng chức năng của Tools – Có đồ chơi sao không dùng đồ chơi hỉ 😎
✨ Đăng nhập
Okay để dùng được Tools thì trước hết phải đăng nhập vào Tools được đã
B1: Mở ứng dụng SSMS lên nè

Thường thì nếu các bạn có cái một con SQL Server cục bộ thì cửa sổ kết nối sẽ tự động điền Server name cục bộ và ở chế độ Windows Authentication cho bạn.
Nhưng nếu mà chưa á thì bạn cứ chọn về Windows Authentication nó cũng tự động điền sẵn cho bạn User name (Trừ khi trong bài hướng dẫn trước ở bước Server Configuration bạn chọn tạo tài khoản kèm Password thì mới phải chọn mục Authentication là SQL Server Authentication)
À còn vấn đề nữa nếu bạn lỡ tắt cửa sổ đăng nhập thì bạn có thể làm theo các bước sau để mở lại:
B1: Chọn vào Tab bên trái “Object Explorer”

B2: Chọn vào nút Connect và chọn mục đầu tiên “Database Engine…”

📝 Nếu như các bạn quên tên của Server thì có thể làm theo cách sau
🎍 Ở ô trống Server name chọn mũi tên trỏ xuống. Sau đó chọn “<Browse for more…>”

🎍 Ở cửa sổ xuất hiện trên màn hình, chọn thẻ Local Servers. Sau đó ở phía dưới sổ cái cây Database Engine ra là các bạn thấy ngay cái tên local Server của mình liền

B3: Tiến hành Restore
Sau khi đăng nhập thì đây là màn hình chính của SSMS

1. Chọn chuột phải vào mục Restore Database…

2. Rồi chọn vào tích tròn Device rồi tới dấu ba chấm (như hình)

3. Ra tiếp cửa số này thì chọn Add

4. Tiếp theo nó hiện cửa sổ cây thư mục, bạn theo địa chỉ đường dẫn dễ chọn file .bak đã tải hen

Có điểm chết chí tử đó là nếu bạn để file .bak trong ổ C hoặc ngoài Desktop không thôi thì nó sẽ không hiện đâu vì nó phải được cấp quyền admin 😅 Ngay cả khi mình dùng máy cá nhân cũng dính chưởng 😥
Solution⁉ Dễ lắm, bạn vào ổ cứng bất kỳ, tạo một thư mục mới rồi thả file đó vào. Như trên hình mình tạo thư mục tên là Restore trong ổ C
Tips nè ❤
5. Sau khi chọn OK ở cửa số trên ta sẽ được trả về cửa sổ này

Ở đây rõ ràng có rất nhiều thông tin. Chủ yếu những thông tin bạn quan tâm khi Restore là: Restore to, Type, Server, Database, Expiration
Thật ra tất cả các thông tin khác đều quan trọng nhưng nếu mới bắt đầu học thì chỉ cần quan tâm mấy cái đơn giản vậy thui hà.
Nếu bạn có thắc mắc về các cột như LSN (log sequence number) thì nó liên quan mật thiết tới lần Backup trước bạn chọn Full hay là Differential. Muốn biết rõ nữa thì coi Video của tui nè hoặc bài viết nè
6. Việc còn lại là ấn OK và phó mặc cho Database Engine làm việc thui 🤣

7. Kiếm tra xem trong cửa sổ Object Explorer xem đã có Database AdventureWorks2019 chưa

2 Dùng Transact-SQL (T-SQL) hay nói cách khác là dùng lệnh SQL luôn
Cách này thì ngầu khỏi chê rùi. Mỗi tội là phải gõ cho đúng cái đường dẫn thui hà.
B1: Một một cửa sổ Query lên
Mở ở đâu vậy ta? Dễ ẹc à, ở trên thanh công cụ có nguyên cái nút “New Query” nè

B2: Nhập dòng lệnh sau
Lưu ý chỗ đường dẫn nhập cho đúng nha, phân biệt hoa với thường luôn. Tốt nhất là bạn mở thư mục sau đó copy đường dẫn cho chính xác nhen
USE [master]
RESTORE DATABASE [AdventureWorks2019]
FROM DISK = N'C:\backup\AdventureWorks2019.bak'
WITH FILE = 1, NOUNLOAD, STATS = 5
GO
Vậy thui xong rùi đó. Siêu dễ luôn hahahaha
II. Kết luận
Ở phần 1 này chủ yếu hướng dẫn các bạn cách Restore một CSDL được Backup rùi. Vì do Series này tập trung hướng dẫn các bạn cách khai phá dữ liệu mẫu nổi tiếng AdventureWorks nên là siêu tiện lợi để các bạn hình dung.
Ở bài viết kế tiếp mình sẽ đi từ việc Khái quát xem CSDL này có bao nhiêu bảng? Bao nhiêu Schema? Làm cách nào để thực hiện truy vấn theo các yêu cầu từ đơn giản tới nâng cao?
Cuối cùng sau khi kết thúc Series này mình mong sẽ tạo được một tiền đề để các bạn dựa vào đó học SQL dễ dàng hơn. Yên tâm mình sẽ chỉ các bạn từ A-Z luôn hehehe

