Khôi phục cơ sở dữ liệu là một miếng bánh với Azure Data Studio. Đây là một quy trình tương tự như thực hiện với SQL Server Management Studio. Chỉ cần nhấp vào Khôi phục và làm theo lời nhắc.
Quá trình khôi phục này cho phép bạn điều hướng qua hệ thống tệp của máy tính để tìm tệp .bak. Tệp .bak này chứa bản sao lưu của cơ sở dữ liệu bạn muốn khôi phục. Vì vậy, khi SQL Server khôi phục cơ sở dữ liệu, nó sẽ sử dụng tệp .bak để thực hiện việc này.
Tuy nhiên, nếu bạn đang chạy phiên bản SQL Server của mình bên trong vùng chứa Docker (tất nhiên, bạn sẽ làm như vậy nếu bạn đang chạy SQL Server trên Mac hoặc Linux), có một số điều bạn cần lưu ý nếu tệp sao lưu của bạn được đặt. bên ngoài vùng chứa Docker.
Nếu tệp sao lưu nằm bên ngoài vùng chứa Docker đang chạy SQL Server, bạn sẽ cần sao chép nó vào vùng chứa Docker trước khi thực hiện khôi phục. Sau khi đã sao chép tệp .bak vào vùng chứa Docker, bạn có thể tiếp tục và sử dụng Azure Data Studio để khôi phục cơ sở dữ liệu.
Dưới đây, tôi trình bày tất cả các bước liên quan.
Hướng dẫn này giả định rằng bạn đã cài đặt SQL Server trên máy Mac của mình bằng vùng chứa Docker và bạn đã cài đặt Azure Data Studio.
Tôi nên chỉ ra rằng, mặc dù các ví dụ trên trang này được thực hiện trên máy Mac, nhưng tất cả các bước phải hoạt động trên cả macOS và Linux.
Tải xuống cơ sở dữ liệu mẫu
Nếu bạn đã có tệp .bak trong cơ sở dữ liệu của riêng mình, bạn không cần thực hiện bước này.
Đối với hướng dẫn này, tôi sẽ khôi phục cơ sở dữ liệu mẫu WideWorldImporters. Đây là cơ sở dữ liệu mẫu mà Microsoft đã cung cấp để giới thiệu các tính năng khác nhau của SQL Server. Đặc biệt, tôi sẽ sử dụng phiên bản kho dữ liệu của cơ sở dữ liệu.
Để tải xuống tệp .bak cơ sở dữ liệu mẫu WideWorldImporters, hãy truy cập trang WideWorldImporters Github và tìm liên kết tải xuống hoặc bạn có thể tải xuống tệp .bak trực tiếp tại đây:
- WildWorldImportersDW-Full.bak [47,7mb]
Sao chép tệp .bak vào Vùng chứa Docker
Bạn chỉ cần thực hiện bước này nếu tệp .bak của bạn nằm bên ngoài vùng chứa Docker (sẽ là điều này nếu bạn vừa tải xuống tệp .bak WideWorldImporters).
Đầu tiên, hãy tạo một thư mục bên trong vùng chứa Docker:
sudo docker exec -it sql_server_demo mkdir /var/opt/mssql/backup
Bây giờ sao chép tệp .bak của cơ sở dữ liệu vào thư mục đó:
sudo docker cp WideWorldImportersDW-Full.bak sql_server_demo:/var/opt/mssql/backup
Lệnh này giả sử bạn đang ở trong cùng một thư mục với tệp .bak. Nếu không, hãy thay đổi vào thư mục sử dụng trước. Ví dụ:
cd Downloads
hoặc bất kỳ thư mục nào trong đó.
Tại sao chúng ta cần Sao chép Tệp .bak?
Vùng chứa Docker có hệ thống tệp riêng và nó hoạt động độc lập với hệ thống tệp trên máy Mac của bạn. Vì vậy, khi bạn cố gắng điều hướng đến tệp .bak trong Azure Data Studio (trong bước tiếp theo), bạn sẽ thấy mình bị "mắc kẹt" bên trong hệ thống tệp của vùng chứa Docker, không có cách nào truy cập tệp .bak trên tệp của máy Mac của bạn. hệ thống. Do đó, trước tiên, chúng tôi sao chép tệp .bak vào hệ thống tệp của vùng chứa, sau đó chúng tôi có thể truy cập tệp đó qua Azure Data Studio.
Khôi phục cơ sở dữ liệu
OK, bây giờ chúng ta có thể thực hiện quá trình khôi phục cơ sở dữ liệu thực tế.
Các bước sau giả sử bạn đã chạy Azure Data Studio và bạn đã kết nối với SQL Server.
- Từ Trang tổng quan máy chủ, nhấp vào Khôi phục cái nút
- Tại Khôi phục từ tiêu đề, chọn Tệp sao lưu từ menu thả xuống
- Tại Đường dẫn tệp sao lưu đầu đề, hãy nhấp vào dấu chấm lửng (… )
- Điều hướng đến thư mục, chọn tệp .bak và nhấp vào OK
- Nhấp vào Khôi phục
- Quá trình khôi phục có thể mất một hoặc hai phút. Lịch sử công việc sẽ cho biết khi nào nó sẵn sàng
Cơ sở dữ liệu hiện đã được khôi phục.
Kiểm tra cơ sở dữ liệu
Có thể bạn sẽ muốn kiểm tra xem cơ sở dữ liệu đã được khôi phục trên thực tế chưa. Một cách để làm điều này là điều hướng đến cơ sở dữ liệu và chạy một truy vấn nhanh.
- Nhấp vào Máy chủ biểu tượng (trên cùng bên trái của màn hình)
- Cơ sở dữ liệu bây giờ sẽ được liệt kê trong Cơ sở dữ liệu hướng tới máy chủ thích hợp. Nếu không, hãy nhấp chuột phải vào Cơ sở dữ liệu và chọn Làm mới
- Sử dụng giao diện Azure Data Studio để chạy truy vấn đối với cơ sở dữ liệu. Ví dụ:nhấp chuột phải vào Bảng (sau khi mở rộng cơ sở dữ liệu) và nhấp vào Chọn 1000 hàng đầu . Thao tác này sẽ tự động chạy một truy vấn đối với bảng đó, chỉ chọn 1000 kết quả hàng đầu