Trong bài viết này, UniTrain cung cấp các cách khác nhau để sao lưu SQL Server trên Windows, giúp bạn dễ dàng hơn trong việc sao lưu dữ liệu nhanh chóng.
Cách chính để tạo bản sao lưu
Bằng SQL
Mở SQL Server Management Studio và chạy lệnh sau:
Để khôi phục dữ liệu, hãy chạy lệnh sau:
Bằng giao diện người dùng
Công cụ quản trị SQL Server chính là SQL Server Management Studio (SSMS). Tạo một bản sao lưu thật dễ dàng:
Nhấp chuột phải vào database, sau đó đi tới Tasks ⇒ Back Up…
Trong cửa sổ tiếp theo, chọn thư mục mà bạn muốn lưu bản sao lưu. Nhấp vào nút Remove để xóa đường dẫn mặc định đến tệp sao lưu, sau đó nhấp vào Add và chọn một thư mục.
Lưu ý rằng nếu bạn kết nối với máy chủ SQL bằng thông tin đăng nhập và mật khẩu, thì người dùng NT Service \ MSSQLSERVER phải có quyền ghi vào thư mục này.
Cửa sổ này có 3 tab – General, Media Options, Backup Options. Khám phá chúng để hiểu có những tùy chọn nào.
Ví dụ: Trên tab cuối cùng, bạn có thể bật tính năng nén , vì vậy tệp sao lưu sẽ được nén khi đang di chuyển. Điều này làm giảm đáng kể kích thước của bản sao lưu, đồng thời tăng đáng kể tải trên SQL Server.
Bằng SQLBackupAndFTP
SQLBackupAndFTP là một tiện ích sao lưu phổ biến. Tiện ích này tạo bản sao lưu cơ sở dữ liệu và ngay lập tức gửi chúng đến bộ nhớ đám mây theo lịch trình đã chọn. Giao diện của công cụ này rất đơn giản, và để cấu hình toàn bộ quá trình sao lưu, bạn không cần biết ngôn ngữ SQL, tập lệnh batch hoặc PowerShell.
Tải xuống và cài đặt SQLBackupAndFTP. Sau khi ứng dụng được cài đặt, hãy khởi chạy nó và thiết lập kết nối với SQL Server. Nó có thể được thực hiện tại phần Connect to Database Server bằng cách nhấp vào biểu tượng bánh răng. Chọn Microsoft SQL Server (local) làm loại máy chủ của bạn và sử dụng thông tin đăng nhập để kết nối.
Bước tiếp theo là chọn cơ sở dữ liệu bạn cần sao lưu. Nó có thể được thực hiện tại phần Select databases
Bây giờ hãy chọn một nơi mà các bản sao lưu sẽ được lưu trữ. Lưu ý, bạn có thể chỉ định nhiều điểm đến.
Đặt lịch sao lưu. Bạn có thể tìm cài đặt nâng cao bằng cách nhấp vào biểu tượng “bánh răng” trong phần Schedule backups
Nếu bạn muốn nhận thông báo qua email nếu công việc sao lưu không thành công hoặc thành công, hãy chỉ định email của bạn vào các ô thích hợp trong phần Send confirmation
Vậy là xong, công việc sao lưu của bạn đã sẵn sàng và sẽ được chạy theo lịch trình đã định. Bạn cũng có thể đặt nén và mã hóa cho các bản sao lưu của mình, thêm các tập lệnh tùy chỉnh trước hoặc sau các bản sao lưu và nhiều tùy chọn khác.
Bằng dòng lệnh
Bạn có thể chạy các lệnh sao lưu và khôi phục từ dòng lệnh bằng tiện ích sqlcmd . Tiện ích này được cài đặt với SQL Server.
sqlcmd –U sa –P “my-secret-password” –Q “BACKUP DATABASE [AdventureWorks] TO DISK = ‘C:\Backup\AdventureWorks.bak’“
sqlcmd –U sa –P “my-secret-password” –Q “RESTORE DATABASE [AdventureWorks] FROM DISK = ‘C:\Backup\AdventureWorks.bak’“
Chạy qua dòng lệnh có thể đặc biệt hữu ích trong các tập lệnh tự động hóa sao lưu.
Một bản sao lưu khác biệt chỉ chứa dữ liệu đã thay đổi kể từ lần sao lưu đầy đủ cuối cùng. Để tạo một bản sao lưu vi sai, hãy chạy lệnh sau:
BACKUP DATABASE [AdventureWorks] TO DISK = N‘D:\Backups\diff.bak’ WITH DIFFERENTIAL
Để khôi phục bản sao lưu vi sai, trước tiên bạn cần khôi phục bản sao lưu đầy đủ với tùy chọn NO RECOVERY, sau đó là sao lưu vi sai.
Các cách thay thế để sao lưu dữ liệu
Sao lưu thông qua lệnh BACKUP DATABASE của SQL nhanh chóng và không tải cơ sở dữ liệu. Tuy nhiên, trong một số trường hợp, không thể:
- Không thể sao lưu máy chủ từ xa. Chính xác hơn, bạn có thể thực hiện sao lưu, nhưng để truy cập tệp, bạn cần có quyền truy cập vào hệ thống tệp máy chủ.
- Bản sao lưu kết quả không ở định dạng mở và không thể xem hoặc chỉnh sửa cho đến khi nó được khôi phục.
- Để tạo bản sao lưu cơ sở dữ liệu, bạn phải có khả năng đăng nhập vào SQL Server, cũng như có đặc quyền sao lưu cơ sở dữ liệu.
Xuất ứng dụng cấp dữ liệu
Ứng dụng Data-Tier là một đơn vị triển khai cơ sở dữ liệu độc lập chứa tất cả các định nghĩa cơ sở dữ liệu như bảng, dạng xem, người dùng, v.v. Kết quả của việc xuất, bạn sẽ nhận được một kho lưu trữ với một tập hợp các tệp XML.
Chức năng này chủ yếu nhằm mục đích truyền dữ liệu giữa các máy chủ SQL khác nhau. Tuy nhiên, tính năng này cũng có thể được sử dụng để tạo một bản sao lưu logic nén .
Bạn có thể chọn những đối tượng bạn muốn thêm vào bản sao lưu. Bằng cách này, bạn có thể sử dụng tính năng xuất để sao lưu một phần .
Lưu ý quan trọng: Ứng dụng cấp dữ liệu xuất không được thực thi trong một giao dịch. Do đó, dữ liệu có thể được xuất ở trạng thái không nhất quán
Ví dụ: Bản ghi trong bảng có thể tham chiếu đến khóa ngoại không có sẵn trong bảng khác. Để tránh điều này, bạn nên chụp nhanh cơ sở dữ liệu trước khi xuất.
CREATE DATABASE [AdventureWorks_Snapshot] ON (NAME = AdventureWorks_data, FILENAME = ‘d:\Backups\AdventureWorks2017.snap’) AS SNAPSHOT OF [AdventureWorks]
Bằng SQL Server Management Studio
Cách đơn giản nhất để thực thi Ứng dụng cấp dữ liệu xuất là thông qua giao diện người dùng SSMS.
- Nhấp chuột phải vào cơ sở dữ liệu
- Tasks ⇒ Export Data Tier Application
- Trên tab thứ hai, chỉ định đường dẫn đến tệp để lưu dữ liệu
- Tùy chọn: trên tab Advanced, bạn có thể chọn các bảng cụ thể để sao lưu
- Nhấp vào Next và sau đó Finish
Để khôi phục, hãy nhấp chuột phải vào Databases và chọn Import Data-Tier Application
Trong cửa sổ mở ra, chỉ định đường dẫn đến tệp .bacpac.
Bằng sqlpackage.exe
Một cách thay thế để thực hiện xuất ứng dụng tầng dữ liệu là sử dụng tiện ích sqlpackage.exe . Nó có thể được tải xuống từ trang web chính thức.
Để xuất cơ sở dữ liệu, hãy chạy lệnh sau:
sqlpackage.exe /TargetFile:“d:\Backups\export.bacpac” /Action:Export /SourceServerName:“localhost” /SourceDatabaseName:“AdventureWorks” /SourceUser:“sa” /SourcePassword:“my-secret-password”
Bạn cũng có thể khôi phục dữ liệu từ .bacpac thông qua sqlpackage
c:\utils\sqlpackage.exe /SourceFile:“d:\Backups\export.bacpac” /Action:Import /TargetServerName:“.” /TargetDatabaseName:“target-database” /TargetUser:“sa” /TargetPassword:“my-password”
Đừng quên xóa ảnh chụp nhanh sau khi sao lưu hoàn tất:
Bằng Windows Server Backup
Ví dụ: Hãy xem xét sao lưu các tệp cơ sở dữ liệu bằng Windows Server Backup (WSB). Chương trình là một phần của máy chủ Windows. Nó không được kết nối theo mặc định. Bạn có thể kích hoạt thông qua Add Roles and Feature.
Trước khi tạo bản sao lưu, bạn cần hiểu cơ sở dữ liệu bao gồm những tệp nào. Để thực hiện, hãy truy cập SQL Server Management Studio và nhấp chuột phải vào cơ sở dữ liệu và chọn Properties.
Trong cửa sổ, chuyển đến phần Files. Ở cuối bảng, sẽ có đường dẫn đến các tệp cơ sở dữ liệu.
Các tệp này sẽ cần được đưa vào bản sao lưu.
Để mở giao diện quản lý sao lưu máy chủ Windows, nhấn win + r và gõ wbadmin.msc
- Nhấp vào Backup Once
- Chọn Different Options
- Chọn Custom.
- Thêm các mục.
- Chỉ định nơi sao lưu vào đĩa hoặc thư mục chia sẻ.
- Chỉ định một ổ đĩa
hoặc đường dẫn UNC. - Xác nhận và chạy bản sao lưu.
Nguồn: SqlBak