Hướng dẫn backup tự động sql 2000

Như chúng ta đã biết thì SQL EXPRESS không có service Agent nên việc sao lưu dữ liệu tự động sẽ không thể thực hiện được như bản dev hay enterprise. Để khắc phục vấn đề này thì mình sẽ sử dụng câu lệnh SQL Command kết hợp với Windows Task Schedule như dưới đây

Sqlcmd -E -S ATM-5501256-01\SQLEXPRESS -d master -Q" BACKUP DATABASE [HTEN-EPR-CBP-HUNGPHAT] TO DISK = 'C:\BackupSQL\db_%TIME:~0,2%h.bak' WITH INIT"

Tạo file .BAT có nội dung như trên và lưu vào 1 folder “C:\BackupSQL\scripts.bat”, các bạn thay đổi đường dẫn thì tùy. Nếu muốn thêm bước nén file thì sử dụng nội dung file .BAT dưới đây.

Sqlcmd -E -S ATM-5501256-01\SQLEXPRESS -d master -Q" BACKUP DATABASE [HTEN-EPR-CBP-HUNGPHAT] TO DISK = 'C:\BackupSQL\db_%TIME:~0,2%h.bak' WITH INIT" "C:\Program Files\WinRar\rar.exe" a -r -ep1 "C:\BackupSQL\db_%TIME:~0,2%h.rar" "C:\BackupSQL\db_%TIME:~0,2%h.bak" Del "C:\BackupSQL\db_%TIME:~0,2%h.bak"

Mở Windows Task Schedule để tạo 1 job như các bước dưới đây

Hướng dẫn backup tự động sql 2000
Mục Triggers có thể add các khung giờ sẽ backup, mình để các mốc giờ như trên.

Hướng dẫn backup tự động sql 2000
Mục Actions add file scripts.bat mà mình đã tạo bước trên.

Hướng dẫn backup tự động sql 2000
Chúng ta có thể kiểm tra như hình trên thấy data đã được sao lưu hàng ngày vào các mốc thời gian mình đã cài

Nếu muốn backup lên Cloud nữa thì ta có thể sử dụng Google drive for desktop, cài nó lên và add folder backup vào là sẽ tự syns lên cloud

Hướng dẫn backup tự động sql 2000
Add bolder BackupSQL để syns lên google drive

Hướng dẫn backup tự động sql 2000
Kiểm tra trên google drive

Ngoài ra nếu syns lên google drive này ta có thể lưu được 100 phiên bản – tức là ta có thể lưu backup sql được trong phạm vi 100 ngày, quá thoải mái để kiểm tra restore khi có sự cố phải khô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…

Hướng dẫn backup tự động sql 2000

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.

Hướng dẫn backup tự động sql 2000

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.

Hướng dẫn backup tự động sql 2000

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

Hướng dẫn backup tự động sql 2000

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.

Hướng dẫn backup tự động sql 2000

Đặ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

Hướng dẫn backup tự động sql 2000

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

Hướng dẫn backup tự động sql 2000

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.

RESTORE DATABASE [AdventureWorks] FROM DISK \= N‘D:\Backups\full.bak’ WITH REPLACE, NORECOVERY

RESTORE DATABASE [AdventureWorks] FROM DISK \= N‘D:\Backups\diff.bak’ WITH RECOVERY

Bản sao lưu nhật ký giao dịch chỉ chứa những gì đã thay đổi sau khi tạo bản sao lưu nhật ký giao dịch trước đó hoặc một bản sao lưu đầy đủ.

BACKUP LOG [AdventureWorks] TO DISK \= N‘D:\Backups\log1.bak’

Bạn có thể thực hiện một số thay đổi đối với cơ sở dữ liệu và thực hiện lại sao lưu nhật ký:

BACKUP LOG [AdventureWorks] TO DISK \= N‘D:\Backups\log2.bak’

Để khôi phục bản sao lưu từ tệp log2.bak, bạn cũng sẽ cần tệp log1.bak và full.bak:

RESTORE DATABASE [AdventureWorks] FROM DISK \= N‘D:\Backups\full.bak’ WITH REPLACE, NORECOVERY

RESTORE DATABASE [AdventureWorks] FROM DISK \= N‘D:\Backups\log1.bak’ WITH NORECOVERY

RESTORE DATABASE [AdventureWorks] FROM DISK \= N‘D:\Backups\log2.bak’ WITH RECOVERY

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ể:

  1. 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ủ.
  2. 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.
  3. Để 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.

Hướng dẫn backup tự động sql 2000

Hướng dẫn backup tự động sql 2000

  1. Nhấp chuột phải vào cơ sở dữ liệu
  2. Tasks ⇒ Export Data Tier Application
  3. Trên tab thứ hai, chỉ định đường dẫn đến tệp để lưu dữ liệu
  4. Tùy chọn: trên tab Advanced, bạn có thể chọn các bảng cụ thể để sao lưu
  5. 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

Hướng dẫn backup tự động sql 2000

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.