Thiết lập sao lưu thường xuyên cơ sở dữ liệu MS SQL Server. Sao lưu cơ sở dữ liệu Microsoft SQL Server Sao lưu máy chủ Ms sql

Máy chủ cơ sở dữ liệu là một trong những máy chủ quan trọng trong bất kỳ tổ chức nào. Họ là những người lưu trữ thông tin và cung cấp đầu ra theo yêu cầu, việc bảo toàn cơ sở dữ liệu trong mọi tình huống là vô cùng quan trọng. Gói cơ bản thường bao gồm các tiện ích cần thiết, nhưng quản trị viên chưa từng gặp cơ sở dữ liệu trước đây sẽ phải dành một chút thời gian để tìm hiểu đặc thù của công việc để đảm bảo tự động hóa.

Các loại sao lưu cơ sở dữ liệu

Đầu tiên, hãy tìm hiểu xem có những loại bản sao lưu nào. Máy chủ cơ sở dữ liệu không phải là một ứng dụng máy tính để bàn thông thường và để đảm bảo đáp ứng tất cả các thuộc tính ACID (Nguyên tử, Tính nhất quán, Cách ly, Độ bền), một số công nghệ được sử dụng và do đó việc tạo và khôi phục cơ sở dữ liệu từ kho lưu trữ có những đặc điểm riêng . Có ba cách tiếp cận khác nhau để sao lưu dữ liệu, mỗi cách đều có ưu và nhược điểm riêng.

Với bản sao lưu logic hoặc SQL (pg_dump, mysqldump, SQLCMD), một ảnh chụp nhanh nội dung của cơ sở dữ liệu được tạo, có tính đến tính toàn vẹn giao dịch và được lưu dưới dạng tệp có lệnh SQL (bạn có thể chọn toàn bộ cơ sở dữ liệu hoặc các bảng riêng lẻ ), nhờ đó bạn có thể tạo lại cơ sở dữ liệu trên một máy chủ khác. Việc này cần có thời gian (đặc biệt đối với các cơ sở dữ liệu lớn) để lưu và khôi phục, do đó, thao tác này thường không thể thực hiện được và được thực hiện khi tải tối thiểu (ví dụ: vào ban đêm). Trong quá trình khôi phục, quản trị viên sẽ cần chạy một số lệnh để chuẩn bị mọi thứ cần thiết (tạo cơ sở dữ liệu, tài khoản trống, v.v.).

Sao lưu vật lý (cấp hệ thống tệp) - sao chép các tệp mà DBMS sử dụng để lưu trữ dữ liệu trong cơ sở dữ liệu. Tuy nhiên, một bản sao đơn giản sẽ bỏ qua các khóa và giao dịch, có thể bị lưu và bị hỏng không chính xác. Nếu bạn cố gắng đính kèm tệp này, nó sẽ ở trạng thái không nhất quán và dẫn đến lỗi. Để có được bản sao lưu cập nhật, cơ sở dữ liệu phải được dừng lại (bạn có thể giảm thời gian ngừng hoạt động bằng cách sử dụng rsync hai lần - đầu tiên là trên cơ sở dữ liệu đang chạy, sau đó là trên cơ sở dữ liệu đã dừng). Nhược điểm của phương pháp này là rõ ràng - bạn không thể khôi phục dữ liệu cụ thể mà chỉ toàn bộ cơ sở dữ liệu. Khi bắt đầu khôi phục cơ sở dữ liệu từ kho lưu trữ hệ thống tệp, bạn sẽ cần kiểm tra tính toàn vẹn của nó. Nhiều công nghệ hỗ trợ khác nhau được sử dụng ở đây. Ví dụ: trong PostgreSQL có nhật ký ghi nhật ký chủ động WAL (Write Ahead Logs) và một chức năng đặc biệt (Point in Time Recovery - PITR) cho phép bạn quay lại trạng thái cơ sở dữ liệu cụ thể. Với sự trợ giúp của họ, kịch bản thứ ba có thể dễ dàng thực hiện, khi bản sao lưu cấp hệ thống tệp được kết hợp với bản sao lưu của tệp WAL. Đầu tiên, chúng tôi khôi phục các tệp sao lưu của hệ thống tệp, sau đó sử dụng WAL, cơ sở dữ liệu sẽ được đưa về trạng thái hiện tại. Đây là một cách tiếp cận quản trị phức tạp hơn một chút, nhưng không có vấn đề gì về tính toàn vẹn của cơ sở dữ liệu và khôi phục cơ sở dữ liệu trong một thời gian nhất định.

Sao lưu logic được sử dụng trong trường hợp cần tạo bản sao đầy đủ của cơ sở dữ liệu một lần hoặc sử dụng hàng ngày, việc tạo bản sao không tốn nhiều thời gian hoặc không gian. Khi việc dỡ bỏ cơ sở dữ liệu mất nhiều thời gian, bạn nên chú ý đến việc lưu trữ vật lý.

người phục vụ

Giấy phép: GNU GPL

DBMS được hỗ trợ: PostgreSQL

PostgreSQL hỗ trợ các khả năng sao lưu vật lý và logic, thêm một lớp WAL khác vào chúng (xem thanh bên), có thể gọi là sao chép liên tục. Nhưng việc quản lý nhiều máy chủ bằng các công cụ tiêu chuẩn không thuận tiện lắm ngay cả đối với quản trị viên có kinh nghiệm và trong trường hợp xảy ra lỗi, số giây sẽ được tính.

Barman (người quản lý sao lưu và phục hồi) là sự phát triển nội bộ của công ty 2ndQuadrant, cung cấp các dịch vụ dựa trên PostgreSQL. Được thiết kế để sao lưu PostgreSQL vật lý (không hỗ trợ logic), lưu trữ WAL và phục hồi nhanh chóng sau khi thất bại. Hỗ trợ sao lưu và phục hồi từ xa nhiều máy chủ, chức năng khôi phục tại thời điểm (PITR) và quản lý WAL. SSH được sử dụng để sao chép và gửi lệnh đến máy chủ từ xa; đồng bộ hóa và sao lưu bằng rsync cho phép bạn giảm lưu lượng. Barman cũng tích hợp với các tiện ích tiêu chuẩn bzip2, gzip, tar và những tiện ích tương tự. Về nguyên tắc, bạn có thể sử dụng bất kỳ chương trình nén và lưu trữ nào, việc tích hợp sẽ không mất nhiều thời gian. Nhiều chức năng chẩn đoán và dịch vụ khác nhau đã được triển khai để theo dõi trạng thái dịch vụ và điều chỉnh băng thông. Tập lệnh trước/sau được hỗ trợ.

Barman được viết bằng Python và các chính sách sao lưu được quản lý bằng tệp INI rõ ràng, barman.conf, có thể nằm trong /etc hoặc thư mục chính của người dùng. Việc phân phối bao gồm một mẫu làm sẵn với các nhận xét chi tiết bên trong. Chỉ hoạt động trên hệ thống *nix. Để cài đặt trên RHEL, CentOS và Scientific Linux, bạn nên kết nối EPEL, kho lưu trữ chứa các gói bổ sung. Kho lưu trữ chính thức có sẵn cho người dùng Debian/Ubuntu:

$ sudo apt-get cài đặt barman

Kho lưu trữ không phải lúc nào cũng có phiên bản mới nhất; để cài đặt nó, bạn sẽ phải tham khảo tài liệu nguồn. Có rất ít sự phụ thuộc và quá trình này rất dễ hiểu.

Máy xúc lật Sypex

Giấy phép: BSD

DBMS được hỗ trợ: MySQL

MySQL đi kèm với các tiện ích mysqldump và mysqlhotcopy, cho phép bạn dễ dàng tạo kết xuất cơ sở dữ liệu; chúng được ghi chép đầy đủ và bạn có thể tìm thấy một số lượng lớn các ví dụ và giao diện người dùng làm sẵn trên Internet. Cái sau cho phép người mới bắt đầu nhanh chóng bắt đầu. Sypex Dumper là một tập lệnh PHP cho phép bạn dễ dàng tạo và khôi phục bản sao của cơ sở dữ liệu MySQL. Được tạo ra để làm việc với cơ sở dữ liệu lớn, nó hoạt động rất nhanh, dễ hiểu và dễ sử dụng. Biết cách làm việc với các đối tượng MySQL - dạng xem, thủ tục, chức năng, trình kích hoạt và sự kiện.

Một điểm cộng nữa, không giống như các công cụ khác thực hiện chuyển mã sang UTF-8 khi xuất, trong Dumper, việc xuất được thực hiện ở dạng mã hóa gốc. Tệp kết quả chiếm ít dung lượng hơn và quá trình này diễn ra nhanh hơn. Một kết xuất có thể chứa các đối tượng có mã hóa khác nhau. Hơn nữa, có thể dễ dàng nhập/xuất theo nhiều giai đoạn, dừng quá trình trong khi tải. Khi tiếp tục, quy trình sẽ bắt đầu từ nơi đã dừng. Có bốn tùy chọn có sẵn để phục hồi:

  • TẠO + CHÈN - chế độ khôi phục tiêu chuẩn;
  • TRUNCATE + INSERT - tốn ít thời gian hơn cho việc tạo bảng;
  • THAY THẾ - chúng tôi khôi phục dữ liệu cũ trong cơ sở dữ liệu đang hoạt động mà không ghi đè lên dữ liệu mới;
  • XÁC NHẬN BỎ QUA - chúng tôi thêm dữ liệu đã xóa hoặc mới vào cơ sở dữ liệu mà không cần chạm vào dữ liệu hiện có.

Hỗ trợ nén bản sao (gzip hoặc bzip2), tự động xóa các bản sao lưu cũ, xem nội dung của tệp kết xuất và chỉ khôi phục cấu trúc bảng. Ngoài ra còn có các chức năng dịch vụ để quản lý cơ sở dữ liệu (tạo, xóa, kiểm tra, khôi phục cơ sở dữ liệu, tối ưu hóa, dọn dẹp bảng, làm việc với các chỉ mục, v.v.), cũng như trình quản lý tệp cho phép bạn sao chép tệp vào máy chủ.

Việc quản lý được thực hiện bằng trình duyệt web, giao diện sử dụng AJAX được bản địa hóa ngay lập tức và tạo ấn tượng như đang làm việc với một ứng dụng dành cho máy tính để bàn. Cũng có thể chạy các tác vụ từ bảng điều khiển và theo lịch trình (thông qua cron).

Để Dumper hoạt động, bạn sẽ cần một máy chủ L|WAMP cổ điển; cài đặt là tiêu chuẩn cho tất cả các ứng dụng được viết bằng PHP (sao chép tệp và đặt quyền) và sẽ không khó ngay cả đối với người mới bắt đầu. Dự án cung cấp tài liệu chi tiết và video hướng dẫn cách sử dụng Sypex Dumper.

Có hai phiên bản: Sypex Dumper (miễn phí) và Pro ($10). Cái thứ hai có nhiều tính năng hơn, tất cả những khác biệt đều được liệt kê trên trang web.

Sao lưu SQL và FTP

Giấy phép:

DBMS được hỗ trợ: Máy chủ MS SQL

MS SQL Server là một trong những giải pháp phổ biến và do đó xảy ra khá thường xuyên. Công việc sao lưu được tạo bằng SQL Server Management Studio, chính Transact-SQL và lệnh ghép ngắn mô-đun SQL PowerShell (Backup-SqlDatabase). Trên trang web MS, bạn có thể tìm thấy một lượng lớn tài liệu cho phép bạn hiểu quy trình. Tài liệu tuy đầy đủ nhưng rất cụ thể và thông tin trên Internet thường mâu thuẫn với nhau. Một người mới bắt đầu thực sự sẽ cần phải luyện tập trước tiên, “tập trung vào”, vì vậy, bất chấp mọi điều đã nói, các nhà phát triển bên thứ ba vẫn có chỗ để mở rộng. Ngoài ra, phiên bản SQL Server Express miễn phí không có công cụ sao lưu tích hợp. Đối với các phiên bản MS SQL cũ hơn (trước 2008), bạn có thể tìm thấy các tiện ích miễn phí, chẳng hạn như sao lưu SQL Server, nhưng trong hầu hết các trường hợp, các dự án như vậy đã được thương mại hóa, mặc dù chúng thường cung cấp tất cả chức năng với số lượng tượng trưng.


Ví dụ: việc phát triển SQL Backup And FTP và One-Click SQL Restore tuân theo nguyên tắc “đặt rồi quên nó đi”. Có giao diện rất đơn giản và trực quan, chúng cho phép bạn tạo bản sao của cơ sở dữ liệu MS SQL Server (bao gồm Express) và Azure, lưu các tệp được mã hóa và nén trên FTP và các dịch vụ đám mây (Dropbox, Box, Google Drive, MS SkyDrive hoặc Amazon S3) , kết quả có thể được xem ngay lập tức. Có thể khởi chạy quy trình theo cách thủ công hoặc theo lịch trình, gửi thông báo về kết quả của tác vụ qua email hoặc chạy tập lệnh tùy chỉnh.

Tất cả các tùy chọn sao lưu đều được hỗ trợ: đầy đủ, khác biệt, nhật ký giao dịch, sao chép thư mục chứa các tệp và hơn thế nữa. Các bản sao lưu cũ sẽ tự động bị xóa. SQL Management Studio được sử dụng để kết nối với máy chủ ảo, mặc dù có thể có một số sắc thái và điều này sẽ không hoạt động trong tất cả các cấu hình như vậy. Có năm phiên bản có sẵn để tải xuống - từ Miễn phí miễn phí đến Prof Lifetime phức tạp (tại thời điểm viết những dòng này, nó chỉ có giá 149 USD). Chức năng của Free khá đầy đủ cho các mạng nhỏ có cài đặt một hoặc hai máy chủ SQL, tất cả các chức năng cơ bản đều đang hoạt động. Số lượng cơ sở dữ liệu sao lưu, khả năng gửi tệp tới Google Drive và SkyDrive cũng như mã hóa tệp bị hạn chế. Mặc dù giao diện chưa được bản địa hóa nhưng nó rất đơn giản và dễ hiểu ngay cả đối với người mới bắt đầu. Bạn chỉ cần kết nối với máy chủ SQL, sau đó danh sách cơ sở dữ liệu sẽ được hiển thị, bạn nên chọn những cơ sở dữ liệu mình cần, định cấu hình quyền truy cập vào tài nguyên từ xa và chỉ định thời gian để hoàn thành tác vụ. Và tất cả điều này trong một cửa sổ.

Nhưng có một chữ “nhưng”. Bản thân chương trình này không nhằm mục đích khôi phục kho lưu trữ. Đối với điều này, một tiện ích miễn phí riêng biệt, Khôi phục SQL bằng một cú nhấp chuột, được cung cấp, tiện ích này cũng hiểu định dạng được tạo bởi lệnh BACKUP DATABASE. Quản trị viên chỉ cần chỉ định kho lưu trữ và máy chủ để khôi phục dữ liệu và nhấn một nút. Nhưng trong những tình huống phức tạp hơn, bạn sẽ phải sử dụng RESTORE.


Tính năng sao lưu MS SQL Server

Việc tạo bản sao lưu và khôi phục DBMS có những điểm khác biệt riêng cần được tính đến, đặc biệt khi chuyển kho lưu trữ sang máy chủ khác. Để làm ví dụ, chúng ta hãy xem xét một số sắc thái của MS SQL Server. Để lưu trữ bằng Transact-SQL, hãy sử dụng lệnh BACKUP DATABASE (cũng có lệnh DIFFERENTIAL) và nhật ký giao dịch BACKUP LOG.

Nếu bản sao lưu được triển khai trên một máy chủ khác, bạn cần đảm bảo rằng có cùng các ổ đĩa logic. Là một tùy chọn, bạn có thể chỉ định thủ công các đường dẫn chính xác cho các tệp cơ sở dữ liệu bằng cách sử dụng tùy chọn WITH MOVE của lệnh RESTORE DATABASE.

Một tình huống đơn giản - sao lưu và chuyển cơ sở dữ liệu sang các phiên bản SQL Server khác. Thao tác này được hỗ trợ, nhưng trong trường hợp SQL Server, nó sẽ hoạt động nếu phiên bản máy chủ nơi bản sao được triển khai giống hoặc mới hơn phiên bản mà nó được tạo. Hơn nữa, có một hạn chế: không quá hai phiên bản mới hơn. Sau khi khôi phục, cơ sở dữ liệu sẽ ở chế độ tương thích với phiên bản đã thực hiện quá trình chuyển đổi, nghĩa là các chức năng mới sẽ không khả dụng. Điều này có thể dễ dàng khắc phục bằng cách thay đổi COMPATIBILITY_LEVEL. Bạn có thể thực hiện việc này bằng GUI hoặc SQL.

THAY ĐỔI CƠ SỞ DỮ LIỆU MyDB THIẾT LẬP COMPATIBILITY_LEVEL = 110;

Bạn có thể xác định phiên bản mà bản sao được tạo bằng cách xem tiêu đề tệp lưu trữ. Để tránh việc thử nghiệm, khi nâng cấp lên phiên bản SQL Server mới, bạn nên chạy tiện ích Microsoft Update Advisor miễn phí.

Iperius

Giấy phép: thương mại, có phiên bản miễn phí

DBMS được hỗ trợ: Oracle 9–11, XE, MySQL, MariaDB, PostgreSQL và MS SQL Server

Khi bạn phải quản lý một số loại DBMS, bạn không thể làm gì nếu không có sự kết hợp. Sự lựa chọn là lớn. Ví dụ: Iperius là một chương trình sao lưu tệp nhẹ, rất dễ sử dụng nhưng mạnh mẽ, có tính năng sao lưu cơ sở dữ liệu nóng mà không bị gián đoạn hoặc chặn. Cung cấp sao lưu đầy đủ hoặc tăng dần. Có thể tạo image full disk để tự động cài đặt lại toàn bộ hệ thống. Hỗ trợ sao lưu vào NAS, thiết bị USB, bộ truyền phát, FTP/FTPS, Google Drive, Dropbox và SkyDrive. Hỗ trợ nén zip không giới hạn kích thước tệp và mã hóa AES256, khởi chạy các tập lệnh và chương trình bên ngoài. Bao gồm một bộ lập lịch tác vụ rất chức năng, có thể thực hiện song song hoặc tuần tự một số tác vụ, kết quả được gửi qua email. Hỗ trợ nhiều bộ lọc, biến để cá nhân hóa đường dẫn và cài đặt.


Khả năng tải lên FTP giúp dễ dàng cập nhật thông tin trên nhiều trang web. Các tệp đang mở được sao lưu bằng công nghệ VSS (bản sao bóng ổ đĩa), cho phép bạn tạo bản sao lưu nóng không chỉ các tệp DBMS mà còn cả các ứng dụng khác. Đối với Oracle, công cụ sao lưu và khôi phục RMAN (Recovery Manager) cũng được sử dụng. Để tránh quá tải kênh, có thể định cấu hình băng thông. Sao lưu và phục hồi được quản lý bằng bảng điều khiển cục bộ và web. Tất cả các chức năng đều hiển thị, vì vậy để thiết lập một tác vụ, bạn chỉ cần hiểu quy trình; bạn thậm chí không cần phải xem tài liệu. Chúng ta chỉ cần làm theo hướng dẫn của thuật sĩ. Bạn cũng có thể lưu ý trình quản lý tài khoản, điều này rất thuận tiện khi bạn có số lượng lớn hệ thống.

Các chức năng cơ bản được cung cấp miễn phí nhưng khả năng sao lưu cơ sở dữ liệu chỉ có trong phiên bản Advanced DB và Full. Hỗ trợ cài đặt từ XP lên Windows Server 2012.

Sao lưu tiện dụng

Giấy phép: Quảng cáo

DBMS được hỗ trợ: Oracle, MySQL, IBM DB2 (7–9.5) và MS SQL Server

Một trong những hệ thống quản lý cơ sở dữ liệu quan hệ mạnh mẽ nhất là IBM DB2, hệ thống này có các tính năng mở rộng quy mô độc đáo và hỗ trợ nhiều nền tảng. Nó có nhiều phiên bản, được xây dựng trên cùng một cơ sở và khác nhau về chức năng. Kiến trúc cơ sở dữ liệu DB2 cho phép bạn quản lý hầu hết tất cả các loại dữ liệu: tài liệu, XML, các tệp phương tiện, v.v. DB2 Express-C miễn phí đặc biệt phổ biến. Sao lưu rất đơn giản:

Mẫu db sao lưu Db2

Hoặc ảnh chụp nhanh bằng tính năng Dịch vụ sao chép nâng cao (ACS):

Ảnh chụp nhanh sử dụng mẫu db sao lưu Db2

Nhưng chúng ta cần nhớ rằng trong trường hợp ảnh chụp nhanh, chúng ta không thể khôi phục (db2 recovery db) các bảng riêng lẻ. Ngoài ra còn có cơ hội sao lưu tự động và hơn thế nữa. Các sản phẩm đều được ghi chép đầy đủ, mặc dù sách hướng dẫn sử dụng rất hiếm trên Internet tiếng Nga. Ngoài ra, không phải tất cả các giải pháp tùy chỉnh đều cung cấp hỗ trợ DB2.

Ví dụ: Handy Backup cho phép bạn sao lưu một số loại máy chủ cơ sở dữ liệu và lưu tệp vào hầu hết mọi phương tiện (ổ cứng, CD/DVD, bộ nhớ đám mây và mạng, FTP/S, WebDAV và các phương tiện khác). Có thể sao lưu cơ sở dữ liệu thông qua ODBC (chỉ bảng). Đây là một trong số ít giải pháp hỗ trợ DB2 và cũng mang biểu tượng "Sẵn sàng cho Phần mềm máy chủ dữ liệu DB2 của IBM". Toàn bộ quy trình được thực hiện bằng trình hướng dẫn thông thường, trong đó bạn chỉ cần chọn mục mong muốn và tạo tác vụ. Bản thân quá trình thiết lập đơn giản đến mức ngay cả người mới bắt đầu cũng có thể hiểu được. Bạn có thể tạo một số tác vụ sẽ chạy theo lịch trình. Kết quả được ghi lại vào nhật ký và gửi qua email. Không cần phải dừng dịch vụ trong khi công việc đang chạy. Kho lưu trữ được tự động nén và mã hóa, đảm bảo tính bảo mật của nó.

Hai phiên bản Handy Backup hỗ trợ làm việc với DB2 - Office Expert (cục bộ) và Server Network (mạng). Hoạt động trên máy tính chạy Win8/7/Vista/XP hoặc 2012/2008/2003. Bản thân quá trình triển khai rất đơn giản đối với bất kỳ quản trị viên nào.

Hãy xem xét một tình huống không mong muốn. Cụ thể: vì lý do nào đó cơ sở dữ liệu bị lỗi. Những gì chúng ta có? Một bản sao đầy đủ, một bản sao khác biệt cho ngày hôm qua, nhưng cũng có dữ liệu cho ngày hôm nay, có thực sự cần thiết phải tạo một bản sao khác biệt mỗi giờ không? - KHÔNG! Ăn Nhật ký giao dịch.
Nhật ký giao dịch - Nhật ký ghi lại tất cả các giao dịch và tất cả các thay đổi cơ sở dữ liệu được thực hiện bởi mỗi giao dịch. Những thứ kia. mọi hành động với cơ sở dữ liệu đều được ghi lại từng bước trong nhật ký. Mỗi bản ghi được DBMS đánh dấu để xác định xem giao dịch đã hoàn thành hay chưa. Với sự trợ giúp của nó, bạn có thể khôi phục trạng thái của cơ sở dữ liệu không chỉ sau khi xảy ra lỗi mà còn trong trường hợp có hành động không mong muốn với dữ liệu. Quay trở lại một thời điểm nhất định. Cũng như cơ sở dữ liệu, nhật ký giao dịch cần được sao lưu, đầy đủ, khác biệt, tăng dần. Để khôi phục một phần nhật ký giao dịch sau khi xảy ra lỗi trong khoảng thời gian giữa các lần tạo bản sao lưu, bạn cần sao lưu đoạn cuối cùng của nhật ký, trên thực tế, đây là điểm cuối cùng của bản sao lưu. Được thực hiện sau khi thất bại, như một điểm đếm ngược.
Vì vậy, để khôi phục cơ sở dữ liệu sau khi bị lỗi, chúng ta cần một bản sao đầy đủ hiện tại của cơ sở dữ liệu, một bản sao khác của cơ sở dữ liệu và một bản sao nhật ký giao dịch.

Có 3 mô hình khôi phục cho cơ sở dữ liệu - đơn giản, đầy đủ và được ghi hàng loạt. Coi như:

  1. Mô hình đơn giản - chỉ sử dụng dự phòng đầy đủ. Không có sự khác biệt. sao lưu, cũng như sao lưu nhật ký giao dịch. Bản sao hoàn chỉnh nên được tạo ra thường xuyên nhất có thể. Có liên quan đến cơ sở dữ liệu được sử dụng “chỉ đọc”.
  2. Mô hình Full recovery là mô hình được sử dụng nhiều nhất, trong đó có tất cả các chức năng sao lưu và phục hồi dữ liệu. Hỗ trợ phục hồi các trang dữ liệu riêng lẻ. Các giao dịch được ghi lại đầy đủ và nhật ký giao dịch được lưu lại.
  3. Mô hình được ghi hàng loạt nhằm mục đích bổ sung cho mô hình khôi phục đầy đủ. Hầu hết các hoạt động hàng loạt không hỗ trợ ghi nhật ký và do đó, nó không hỗ trợ khôi phục cơ sở dữ liệu đến một thời điểm nhất định.

Hãy xem xét chuỗi sao lưu mới nhất: Sao lưu toàn bộ - mỗi tuần một lần, Sao lưu chênh lệch - mỗi ngày một lần, Sao lưu nhật ký giao dịch - mỗi giờ một lần.
Có một số tùy chọn để tạo bản sao lưu:

  • Sử dụng bộ lập lịch tác vụ MS SQL tích hợp
  • Sử dụng ngôn ngữ Transact-SQL
  • Sử dụng sqlcmd và Trình lập lịch tác vụ hệ điều hành
  • Thủ công (điều này không phù hợp với chúng tôi, vì quản trị viên đang làm việc phải liên tục loay hoay)

Hãy coi tùy chọn đầu tiên là dễ sử dụng nhất. Đối với điều này, Windows Server 2008 R2 Enterprise và MS SQL Server 2008 Eng được sử dụng.

Vì vậy, giả sử chúng ta có cơ sở dữ liệu TECH:

Hãy chuyển sang công cụ tạo việc làm:

Nhấn chuột phải và gọi Master Joba:
Chọn hộp kiểm “Thực hiện từng nhiệm vụ riêng biệt”, chúng tôi chỉ thực hiện một hành động

Chủ nhân không có khăn xếp, nhưng kích thước của khăn xếp không phải là điều chính)) Chúng tôi chọn loại mong muốn, trong trường hợp của chúng tôi - đặt trước đầy đủ:

Hóa ra Thầy Joba là người Do Thái nên lại hỏi:

“Thật đáng để lựa chọn các thông số bổ sung, ôi paddawan trẻ tuổi!”:
Ở đây chúng tôi chọn cơ sở dữ liệu, thời gian lưu trữ bản sao lưu, địa chỉ (băng hoặc đĩa), đường dẫn lưu và quan trọng nhất - bộ lập lịch tác vụ!

“Bạn không nên quên cơ sở dữ liệu khi chọn cơ sở dữ liệu của mình.

“Bạn đang vội tạo nhiệm vụ quá nhanh, bạn nên bấm vào nút có tên Shedule - Xác định ở phía dưới.”
Trên thực tế, bộ lập lịch tác vụ, nơi chúng tôi chọn loại (lặp lại, một lần, v.v.), ngày, giờ, loại bắt đầu:

Thế là xong, chúng tôi đã tạo ra nó. Thầy Joba mát mẻ và xanh tươi. Chúng tôi xem xét trạng thái trong Kế hoạch bảo trì:

Đối với người hoang tưởng, đừng ngại thừa nhận điều đó trước gương, thật đáng để nhìn vào tâm hồn của SQL Server Agent - Giám sát hoạt động công việc, Trình hướng dẫn công việc sẽ hiển thị cho bạn mọi thứ một cách chi tiết:

Bây giờ, nếu các điều kiện đã chỉ định được đáp ứng, một bản sao lưu đầy đủ của cơ sở dữ liệu sẽ được tạo. Sử dụng nguyên tắc tương tự, một bản sao lưu khác biệt và một bản sao lưu nhật ký giao dịch được tạo ra (các mục con này nằm bên dưới “Sao lưu đầy đủ” trong danh sách lựa chọn nhiệm vụ).
Xoay tai MSSQL của bạn tùy ý, đừng tháo chúng ra

Trong bài viết tiếp theo - việc tạo bằng Transact-SQL và một số ví dụ.

Hãy khôi phục cơ sở dữ liệu “Test _Recovery” về “ t 4».

Hãy bắt đầu khôi phục cơ sở dữ liệu từ bản sao lưu đầy đủ "Full2_Test_Recovery.bak" bằng cách sử dụng "SQL Server Management Studio" " Nhấp chuột phải vào cơ sở dữ liệu " Kiểm tra_Phục hồi ", trong menu xuất hiện, chọn " Nhiệm vụ", sau đó "Khôi phục", rồi "Cơ sở dữ liệu".

Trong cửa sổ hiện ra " Khôi phục cơ sở dữ liệu" trong phần "Nguồn", chọn "Thiết bị". Tiếp theo “ Thêm ", nhập đường dẫn "\\ vniz - tst - bkp 01. test . local\Backup_SQL\Full 2_Test_Recovery. bak", nhấp vào "Ok". Trong phần “Điểm đến”, chọn Cơ sở dữ liệu "Phục hồi thử nghiệm"

Nhấp vào “Được”

Căn cứ sẽ được khôi phục thành công.

Hãy xem việc khôi phục cơ sở dữ liệu bằng Transact-SQL.

Nhấp chuột phải vào cơ sở dữ liệu “Test_Recovery” và chọn “Truy vấn mới” từ menu xuất hiện:

Trong cửa sổ xuất hiện, nhập:

SỬ DỤNG bậc thầy

KHÔI PHỤC Kiểm tra cơ sở dữ liệu_Recovery

TỪ ĐĨA = "\\vniz-tst-bkp01.test.local\Backup_SQL\Full2_Test_Recovery.bak"

VỚI THAY THẾ

Căn cứ sẽ được khôi phục thành công.

Trong ví dụ này, chúng tôi đã sử dụng tham số "REPLACE":

Quá trình khôi phục thường ngăn cơ sở dữ liệu vô tình bị cơ sở dữ liệu khác ghi đè. Nếu cơ sở dữ liệu được chỉ định trong câu lệnh RESTORE đã tồn tại trên máy chủ hiện tại và GUID dòng cho cơ sở dữ liệu được chỉ định khác với GUID dòng cho cơ sở dữ liệu được ghi trong bộ sao lưu thì cơ sở dữ liệu sẽ không được khôi phục.

Tùy chọn REPLACE ghi đè một số kiểm tra quan trọng thường được thực hiện bằng thao tác khôi phục. Các lần kiểm tra sau đây sẽ bị hủy bỏ.

  • Đang kiểm tra để khôi phục cơ sở dữ liệu hiện có, bản sao lưu được tạo cho cơ sở dữ liệu khác.Khi bạn sử dụng tùy chọn REPLACE, việc khôi phục có thể ghi dữ liệu lên cơ sở dữ liệu hiện có, bất kể cơ sở dữ liệu nào có trong bộ sao lưu, ngay cả khi tên dữ liệu được chỉ định khác với tên được ghi trong bộ sao lưu. Điều này có thể dẫn đến việc cơ sở dữ liệu vô tình bị cơ sở dữ liệu khác ghi đè.
  • Thử nghiệm để khôi phục cơ sở dữ liệu sử dụng mô hình khôi phục đầy đủ hoặc mô hình khôi phục được ghi nhật ký hàng loạt mà bản sao lưu nhật ký đuôi không được thực hiện và tùy chọn STOPAT không được áp dụng.Khi sử dụng tùy chọn REPLACE, bạn có thể mất dữ liệu đã cam kết vì dữ liệu được ghi gần đây nhất vẫn chưa được sao chép vào bản sao lưu.
  • Ghi đè lên các tập tin hiện có.

sqlcmd -S DECLSERVER\SQLGTD -E -Q "khai báo @s varchar(255) set @s='E:\backup\GTD_' + Convert(varchar(1), datepart(dw, getdate())) + '. bak' sao lưu cơ sở dữ liệu GTD vào đĩa = @s với init, noformat, Skip, danh từ"

sqlcmd cho phép bạn nhập các câu lệnh Transact-SQL, quy trình hệ thống và tệp tập lệnh từ dòng lệnh vào trình soạn thảo truy vấn ở chế độ SQLCMD,

  • -S - chỉ định tên máy chủ, máy chủ[\instance_name];
  • DECLSERVER\SQLGTD - tên máy chủ/tên phiên bản mà cơ sở dữ liệu chạy trên đó;
  • -E - sử dụng kết nối đáng tin cậy để kết nối với máy chủ SQL thay vì tên người dùng và mật khẩu;
  • -Q "truy vấn cmdline" - khi bắt đầu chương trình sqlcmd thực hiện yêu cầu nhưng không thoát khỏi chương trình sau khi thực hiện xong. Nhiều truy vấn có thể được thực thi, phân tách bằng dấu chấm phẩy. Đặt truy vấn trong dấu ngoặc kép như được hiển thị ở trên;
  • tuyên bố - khai báo biến s, tên biến luôn bắt đầu bằng @ nên @S. Trong trường hợp của chúng ta @S- đây là thư mục (đĩa) để lưu trữ các bản sao lưu;
  • varchar(n) - đặt loại biến @S dưới dạng một chuỗi có chuỗi dài n, trong ví dụ 255 ký tự;
  • bộ - thiết lập giá trị của một biến @S, trong ví dụ đây là thư mục sao lưu trên ổ E ( E:\sao lưu\), thì tên của tệp sao lưu được chỉ định, trong đó tập hợp các hàm chuyển đổi(varchar(1), datepart(dw, getdate())) trả về ở định dạng văn bản có độ dài 1 ký tự ngày hiện tại trong tuần (Thứ Hai - 1 , Thứ ba - 2 , v.v.) và phần mở rộng được thêm vào nướng. Đầu ra sẽ là một tập tin có tên GTD_Số ngày trong tuần.bak;
  • hỗ trợ - tạo bản sao lưu;
  • cơ sở dữ liệu - cho biết việc tạo bản sao lưu của toàn bộ cơ sở dữ liệu;
  • GTD - trong ví dụ của chúng tôi, tên cơ sở dữ liệu trên máy chủ SQL;
  • vào đĩa - cho biết loại thiết bị lưu trữ dự phòng, tệp đĩa cứng và biến được chỉ định @S, được gán đường dẫn và tên của tệp đang được tạo;
  • với init, noformat, bỏ qua, danh từ tải - chỉ ra rằng cần phải viết lại dữ liệu theo hình tròn với việc xác định lại các tiêu đề, điều này sẽ cho phép chúng tôi có 7 tệp sao lưu cho mỗi ngày trong tuần, được viết lại theo hình tròn.

Bạn có thể sử dụng các chức năng khác, chẳng hạn như nén, nếu cần, hãy xem Trợ giúp chức năng và truy vấn Transact-SQL.

Bước 2. Thay đổi phần mở rộng tệp văn bản thành .cmd

Kết quả là chúng ta nhận được tập tin sao lưuGTD.cmd. Bạn phải chạy tệp bó đã tạo từ máy đã cài đặt cơ sở dữ liệu MS SQL.

Bước 3. Tự động hóa quá trình này

Hãy xem xét bước này bằng cách sử dụng MS Windows Server 2008 làm ví dụ: Trình quản lý máy chủ -> Cấu hình -> Trình lập lịch công việc -> Thư viện Trình lập lịch công việc.

Chức năng mở rộng của Bacula Enterprise Edition, cùng với những chức năng khác, cho phép bạn tạo bản sao lưu cơ sở dữ liệu cho các tệp . Ví dụ: chúng ta đang nói về một công cụ mà bạn có thể sao lưu MS SQL Server. Người dùng có thể tạo bản sao lưu MS SQL bằng cách tạo bản sao lưu khối lượng lớn của cơ sở dữ liệu MS SQL cụ thể được nền tảng Windows sử dụng, với chi phí thấp hơn cho phần mềm của bên thứ ba, với khả năng khôi phục dữ liệu đến một thời điểm nhất định (khôi phục PITR ) vào mạng và ổ đĩa cục bộ.

Tập lệnh Bacula Systems để tạo bản sao lưu MS SQL Server được đặc trưng bởi hiệu quả cực cao, đạt được thông qua việc triển khai kiến ​​​​trúc hiện đại, có độ tin cậy cao. Hơn nữa, phần mềm cho phép bạn tạo bản sao lưu MS SQL Server và sử dụng nhiều tùy chọn khác nhau để tạo bản sao lưu MS SQL.

Tập lệnh sao lưu MS SQL Bacula Systems hoạt động độc lập với VSS. Điều này có nghĩa là công cụ sao lưu MS SQL không sử dụng ảnh chụp nhanh VSS để tạo bản sao lưu. Do đó, người dùng có thể đặt giá trị sau “Enable VSS = no” trong Bacula FileSet. Việc tạo hiệu quả các bản sao lưu MS SQL Server và khôi phục chúng bằng giải pháp này đạt được thông qua việc sử dụng Microsoft API cho SQL Server. Điều này cho phép Bacula Systems hỗ trợ các cơ chế bảo mật và tất cả các loại xác thực được triển khai trong Microsoft SQL Server.

Sao lưu nhật ký giao dịch MS SQL và khôi phục tại thời điểm MS SQL: Phần mềm Bacula Enterprise Edition cho phép bạn khôi phục các khối dữ liệu MS SQL hoặc cài đặt cụ thể tại một thời điểm cụ thể. Với việc triển khai các mô hình khôi phục được ghi nhật ký đầy đủ và hàng loạt, bạn có thể khôi phục MS SQL bằng cách sử dụng PITR recovery hoặc sử dụng LSN để khôi phục hệ thống về trạng thái cụ thể. Bạn có thể khôi phục trạng thái cụ thể của cơ sở dữ liệu MS SQL tại bất kỳ thời điểm cụ thể nào, cho đến từng giây. Trong trường hợp sao lưu nhật ký giao dịch MS SQL, khi khôi phục, trạng thái cơ sở dữ liệu sẽ được khôi phục từ nhiều bản sao lưu đã chọn khác nhau.

Các tính năng trong nháy mắttự động sao lưu và phục hồi MS SQL với Bacula Enterprise

Bacula Systems đã tạo plugin sao lưu MS SQL Server để sử dụng với Bacula Enterprise Edition. Sao lưu MS SQL Server bằng Bacula có các tính năng sau:

  • Hỗ trợ sao lưu MS SQL đầy đủ và khác biệt
  • Hỗ trợ sao lưu gia tăng MS SQL
  • Sao lưu MS SQL vào mạng và ổ đĩa cục bộ
  • Sao lưu MS SQL theo lịch trình
  • Tạo bản sao lưu ở cấp cơ sở dữ liệu MS SQL Server
  • Khả năng bao gồm/loại trừ cơ sở dữ liệu khỏi quy trình tạo bản sao lưu
  • Hỗ trợ tạo bản sao lưu cơ sở dữ liệu chỉ đọc
  • Khôi phục bản sao lưu MS SQL vào đĩa
  • Gửi luồng sao lưu trực tiếp đến Daemon lưu trữ
  • Khôi phục điểm MS SQL theo thời gian

Đánh giá và cấu hình backup MS SQL 2008, 2008 R2, 2012 và 2014

Tài liệu này cung cấp các giải pháp cho Bacula Enterprise Edition 8.4 trở lên không được các phiên bản phần mềm trước đó hỗ trợ. Sao lưu cơ sở dữ liệu MS SQL đã được thử nghiệm và hỗ trợ bởi MS SQL 2003 R2, MS SQL 2008 R2, MS SQL 2012, MS SQL 2005, MS SQL 2008, MS SQL 2014. Bản sao lưu MS SQL từ Bacula có thể hoạt động với SQL Express.

Thuật ngữ sao lưu MS SQL 2008, 2008 R2, 2012 và 2014

  • MS SQL là viết tắt của Microsoft SQL Server.
  • Nhật ký giao dịch. Bất kỳ cơ sở dữ liệu MS SQL Server nào cũng có nhật ký giao dịch, ghi lại tất cả các giao dịch và sửa đổi cơ sở dữ liệu được thực hiện trong các giao dịch đó. Nhật ký giao dịch là một thành phần quan trọng của cơ sở dữ liệu. Trong trường hợp hệ thống bị lỗi, nhật ký giao dịch có thể được yêu cầu để khôi phục cơ sở dữ liệu về trạng thái hoạt động. Bạn có thể tìm thêm thông tin tại https://msdn.microsoft.com/en-us/library/ms190925.aspx.
  • Sao lưu khác biệt cơ sở dữ liệu MS SQL Server. Sao lưu vi sai dựa trên bản đầy đủ cuối cùng. Trong quá trình sao lưu vi sai, chỉ dữ liệu đã thay đổi kể từ lần sao lưu đầy đủ cuối cùng được tạo mới được ghi lại. Bạn có thể tìm thêm thông tin tại https://msdn.microsoft.com/en-us/library/ms175526.aspx.
  • Sao lưu toàn bộ cơ sở dữ liệu MS SQL Server. Trong quá trình sao lưu cơ sở dữ liệu đầy đủ, một bản sao lưu của toàn bộ cơ sở dữ liệu sẽ được tạo. Bản sao lưu bao gồm một phần nhật ký giao dịch nhằm mục đích khôi phục cơ sở dữ liệu hoàn chỉnh từ bản sao lưu. Bản sao lưu cơ sở dữ liệu đầy đủ chứa cơ sở dữ liệu tại thời điểm sao lưu hoàn tất. Bạn có thể tìm thêm thông tin tại https://msdn.microsoft.com/en-us/library/ms186289.aspx.
  • Sao lưu “chỉ sao chép” (CopyOnly). Bản sao lưu chỉ sao chép là bản sao lưu MS SQL độc lập với luồng sao lưu SQL Server truyền thống thông thường. Đôi khi, việc tạo bản sao lưu cho các nhu cầu cụ thể sẽ rất hữu ích mà không ảnh hưởng đến quá trình sao lưu và khôi phục cơ sở dữ liệu tổng thể. Bạn có thể tìm thêm thông tin tại https://msdn.microsoft.com/en-us/library/ms191495.aspx.
  • VDI(Giao diện thiết bị ảo) là một công nghệ của Microsoft cho phép bạn tạo ống có tên giữa các chương trình.
  • mặt nạ tiêu chuẩn chỉ định bộ chuỗi có ký tự đại diện. Ví dụ: mặt nạ sản xuất* tiêu chuẩn sẽ bao gồm các dây chuyền sản xuất1 và sản xuất2.
  • đường kẻ
  • số nguyên.
  • LSN Mỗi mục trong nhật ký giao dịch MS SQL Server được xác định bằng một số sê-ri giao dịch duy nhất (LSN). Thông tin chi tiết hơn có thể được tìm thấy tại https://technet.microsoft.com/en-us/library/ms190411%28v=sql.105%29.aspx.

Sao lưu MS SQL Server 2008, 2008 R2, 2012 và 2014

Sao lưu toàn bộ cơ sở dữ liệu MS SQL Server 2008, 2008 R2, 2012 và 2014

Trong quá trình sao lưu toàn bộ cơ sở dữ liệu MS SQL, các tệp cơ sở dữ liệu và nhật ký giao dịch sẽ được lưu, cho phép bạn bảo vệ hoàn toàn cơ sở dữ liệu MS SQL trong trường hợp lỗi phương tiện. Nếu một hoặc nhiều tệp bị hỏng, việc khôi phục cơ sở dữ liệu MS SQL từ bản sao lưu sẽ cho phép bạn khôi phục tất cả các giao dịch đã hoàn thành. Tất cả các giao dịch đang diễn ra cũng sẽ được khôi phục. Ở chế độ này, các bản sao lưu của cơ sở dữ liệu chính và mbdb sẽ được tạo.

Sao lưu khác biệt cơ sở dữ liệu MS SQL Server 2008, 2008 R2, 2012 và 2014

Sao lưu khác biệt của cơ sở dữ liệu MS SQL Server dựa trên bản sao lưu đầy đủ gần đây nhất của cơ sở dữ liệu MS SQL. Khi tạo bản sao lưu MS SQL khác biệt, chỉ dữ liệu đã được thay đổi kể từ bản sao lưu MS SQL đầy đủ cuối cùng được tạo mới được ghi lại. Đối với chức năng sao lưu vi sai MS SQL, trình tự sao lưu là cực kỳ quan trọng. Nếu vì lý do nào đó, bản sao lưu đầy đủ được tham chiếu bởi MS SQL không có sẵn thì không thể sử dụng các bản sao lưu vi sai của cơ sở dữ liệu MS SQL Server. MS SQL Backup của Bacula sử dụng các kỹ thuật cụ thể để giải quyết vấn đề này. Do đó, nếu có khó khăn phát sinh, trạng thái sao lưu cơ sở dữ liệu vi sai có thể được tự động nâng cấp lên bản sao lưu đầy đủ.

Sao lưu nhật ký giao dịch MS SQL 2008, 2008 R2, 2012 và 2014

Thiết lập cấu hình cơ sở dữ liệu và sao lưu MS SQL

Khôi phục cơ sở dữ liệu MS SQL từ bản sao lưu

Bạn có thể sử dụng tất cả các phương pháp tiêu chuẩn để bắt đầu quy trình khôi phục cơ sở dữ liệu MS SQL từ bản sao lưu. Tuy nhiên, bạn phải đảm bảo rằng trong trường hợp khôi phục dữ liệu vi sai, bản sao lưu đầy đủ trước đó của cơ sở dữ liệu MS SQL cũng sẽ được khôi phục. Trong trường hợp này, quá trình khôi phục sẽ tự động diễn ra nếu bạn chạy nó trong bảng điều khiển bảng điều khiển sử dụng tùy chọn khôi phục 5 hoặc 12. Trong cấu trúc tệp được tạo, bạn cần đánh dấu việc khôi phục cơ sở dữ liệu đầy đủ hoặc phiên bản DB.

Tùy chọn khôi phục cơ sở dữ liệu MS SQL từ bản sao lưu

Phần mềm Bacula Enterprise Edition cho phép người dùng sử dụng nhiều tùy chọn khôi phục MS SQL và áp dụng nhiều phương pháp khôi phục cơ sở dữ liệu khác nhau. Các tùy chọn khôi phục được sử dụng phổ biến nhất được mô tả bên dưới:

  • Tham số Where: Trong trường hợp Bacula Enterprise Edition, tham số này cho phép quản trị viên khôi phục cơ sở dữ liệu về một vị trí cụ thể.
  • Tham số thay thế: Được sử dụng để xác định cách Bacula hoạt động với cơ sở dữ liệu hiện tại khi được khôi phục. Bản sao lưu MS SQL của Bacula cũng cho phép bạn sử dụng thêm một số tùy chọn khi khôi phục, chẳng hạn như:
  • Phiên bản: Vì MS SQL sử dụng nhiều phiên bản nên bản sao lưu cơ sở dữ liệu MS SQL của Bacula cho phép bạn chọn phiên bản nào để khôi phục. Tham số này là tùy chọn và nếu không được chỉ định, giá trị được chỉ định khi tạo bản sao lưu sẽ được sử dụng khi khôi phục. Theo mặc định, một phiên bản có tên “MSSQLSERVER” được sử dụng.
  • Cơ sở dữ liệu. Tùy chọn này chỉ định tên của cơ sở dữ liệu cần khôi phục và nó sử dụng giá trị được chỉ định tại thời điểm cơ sở dữ liệu được tạo. Tham số này là tùy chọn. Theo mặc định, các bản sao lưu cơ sở dữ liệu SQL Server sử dụng tham số Where để xác định tên của cơ sở dữ liệu mới. Nếu cả hai tham số Where và Database đều được gán tên cơ sở dữ liệu hợp lệ thì tham số Database sẽ được sử dụng.
  • Người dùng. Tên người dùng được sử dụng để kết nối với phiên bản cơ sở dữ liệu MS SQL. Tham số này là tùy chọn và nếu không được chỉ định, giá trị được chỉ định khi tạo bản sao lưu sẽ được sử dụng khi khôi phục.
  • Mật khẩu. Mật khẩu được sử dụng để kết nối với phiên bản cơ sở dữ liệu MS SQL. Tham số này là tùy chọn và nếu không được chỉ định, giá trị được chỉ định khi tạo bản sao lưu sẽ được sử dụng khi khôi phục.
  • Lãnh địa. Miền được sử dụng để kết nối với phiên bản cơ sở dữ liệu MS SQL. Tham số này là tùy chọn và nếu không được chỉ định, giá trị được chỉ định khi tạo bản sao lưu sẽ được sử dụng khi khôi phục.
  • Sự hồi phục. Tham số cho phép bạn xác định xem cơ sở dữ liệu có được khôi phục về trạng thái trước đó trong quá trình khôi phục hay không. Theo mặc định, khi khôi phục cơ sở dữ liệu, nó sẽ quay trở lại trạng thái trước đó.
  • Dừng_trước_mark. Điều kiện VỚI STOPBEFOREMARK = Được sử dụng để chỉ ra rằng mục nhật ký giao dịch ngay trước cờ là điểm khôi phục. Điểm khôi phục có thể là ngày và giờ, LSN hoặc cờ mark_name.
  • Dừng_tại_mark. Điều kiện VỚI STOPATMARK = Được sử dụng để chỉ ra rằng giao dịch được đánh dấu là điểm khôi phục. STOPATMARK di chuyển về phía cờ và thực hiện lại giao dịch đã đánh dấu. Điểm khôi phục có thể là ngày và giờ, LSN hoặc cờ mark_name.
  • Dừng_at= . Điều kiện CÓ STOPAT = được sử dụng để chỉ ra rằng điểm khôi phục là ngày/giờ.
  • Hạn chế_user. Mệnh đề WITH RESTRICT_USER được sử dụng để hạn chế quyền truy cập vào cơ sở dữ liệu được khôi phục. Mặc định là không.

Việc khôi phục MS SQL tại một thời điểm có thể được thực hiện trực tiếp từ plugin sao lưu MS SQL. Bạn cũng có thể khôi phục tệp cục bộ và thực hiện các thao tác từ Bảng điều khiển quản lý máy chủ Microsoft SQL để có thêm chức năng.

LSN

Có thể xem số LSN của mục nhật ký nơi xảy ra sự kiện sao lưu và phục hồi cụ thể theo một trong các cách sau:

  • Khi hiển thị mô tả nhiệm vụ tạo bản sao lưu bằng phần mềm Bacula
  • Trong tên tệp nhật ký
  • Trong bảng msdb.backupset
  • Trong bảng msdb.backupfile

Khi thực hiện tác vụ tạo bản sao lưu cơ sở dữ liệu MS SQL, thông tin sau về số LSN sẽ được hiển thị khi hiển thị mô tả tác vụ:

Con số LSN đầu tiên tương ứng với số LSN cuối cùng của bản sao lưu nhật ký giao dịch cuối cùng. Bản sao lưu như vậy có thể là bản sao lưu đầy đủ đầu tiên hoặc bản sao lưu cuối cùng (gia tăng).

Con số LSN cuối cùng khớp với giao dịch cuối cùng được ghi trong nhật ký.

Trong trường hợp sao lưu nhật ký giao dịch (gia tăng), tên của tệp được liên kết với cơ sở dữ liệu này trong tác vụ tạo bản sao lưu gia tăng sẽ như sau:

Số trong tên, trong trường hợp của chúng tôi 42000162001, tương ứng với số LSN cuối cùng của tác vụ trước đó (để tạo bản sao lưu đầy đủ hoặc tăng dần).

Hình 2: LSN đầu tiên, LSN cuối cùng và LSN trong tên tệp

Như trong ví dụ ở Hình 2, nếu quản trị viên cần khôi phục cơ sở dữ liệu MS SQL về trạng thái tương ứng với LSN số 14, có thể thực hiện các hành động sau:

  • Trong menu khôi phục cơ sở dữ liệu, sử dụng tùy chọn 5
  • Chọn file backup đầy đủ mới nhất “data.bak” (LSN: 10)
  • Chọn bản sao lưu gia tăng “log-10.trn”

Hoặc, nếu bản sao lưu đầy đủ mới nhất của MS SQL Server không có sẵn nhưng có bản sao lưu đầy đủ trước đó thì:

  • Sử dụng tùy chọn khôi phục 3, chọn giá trị công việc thích hợp
  • Chọn thư mục cơ sở dữ liệu “/@mssql/db29187”
  • Chọn file backup đầy đủ “data.bak” (LSN: 2)
  • Chọn các bản sao lưu gia tăng “log-2.trn”, “log-3.trn”, “log-10.trn”
  • Đặt tham số stop_at_mark thành “lsn:14”
  • Chạy tác vụ để khôi phục bản sao lưu

Tập lệnh khôi phục MS SQL

Sự miêu tả Ở đâu Cơ sở dữ liệu Ví dụ
Khôi phục tập tin vào đĩa Con đường ở đâu=c:/tmp
Khôi phục cơ sở dữ liệu gốc đâu=/
Khôi phục với tên mới Tên ở đâu=newdb
Khôi phục với tên mới Tên cơ sở dữ liệu=newdb
Khôi phục với tên mới và di chuyển tập tin Tên

Bảng 1: Kịch bản khôi phục MS SQL

2.3.1 Khôi phục cơ sở dữ liệu MS SQL với tên gốc

Để khôi phục cơ sở dữ liệu với tên gốc, tùy chọn Ở đâu không được chỉ định (giá trị trống) hoặc giá trị “/” phải được chỉ định và tham số Thay thế phải được gán một giá trị Luôn luôn, hoặc trước tiên bạn phải xóa cơ sở dữ liệu nguồn.

Khôi phục bản sao lưu MS SQL bằng tên mới

Để khôi phục bản sao lưu cơ sở dữ liệu MS SQL bằng tên mới, trước tiên bạn có thể cần di chuyển các tệp cơ sở dữ liệu vào đĩa. Tất cả phụ thuộc vào việc cơ sở dữ liệu ban đầu có còn tồn tại hay không.

Nếu cơ sở dữ liệu nguồn không còn nữa thì tham số Ở đâu hoặc trường “Tùy chọn plugin” có thể chứa tên của cơ sở dữ liệu mới. MS SQL Backup from Bacula sẽ tự động tạo cơ sở dữ liệu với tên mới.

Nếu vẫn cần cơ sở dữ liệu gốc, tham số Where sẽ được sử dụng để di chuyển tệp vào đĩa và bạn sẽ cần đặt tên cho cơ sở dữ liệu mới bằng menu Tùy chọn plugin. Trong cây khôi phục, bạn phải chọn tệp bố cục.dat.

Sử dụng Danh mục của tôi

Chạy tác vụ khôi phục MS SQL:

Sử dụng Danh mục của tôi, chạy tác vụ khôi phục cơ sở dữ liệu MS SQL:

Khôi phục MS SQL vào đĩa cục bộ

Nếu bạn chỉ định ở đâu=c:/path/, các tệp sẽ được khôi phục vào đĩa cục bộ và quản trị viên cơ sở dữ liệu MS SQL sẽ có thể sử dụng phần mở rộng thủ tục TSQL cho Bảng điều khiển quản lý máy chủ Microsoft SQL để khôi phục cơ sở dữ liệu. Các lệnh SQL cần thiết để khôi phục cơ sở dữ liệu được liệt kê trong phần mô tả Đầu ra công việc như thể hiện trong hình ảnh dưới đây.