Các kỹ thuật sao lưu và khôi phục cơ sở dữ liệu SQL

Microsoft SQL Server là một hệ thống quản lý chuyên nghiệp được sử dụng để thao tác và trao đổi dữ liệu trong các cơ sở dữ liệu quan hệ. Đối với nhiều tổ chức, cơ sở dữ liệu thường là một thành phần quan trọng trong hạ tầng CNTT hoặc trong các dự án kinh doanh. Vì lý do này, việc sao lưu cơ sở dữ liệu SQL là điều cần thiết để tránh mất dữ liệu và thời gian ngừng hoạt động của các dịch vụ quan trọng.

Bài viết trên blog này giải thích cách sao lưu Microsoft SQL Server bằng các phương pháp khác nhau, bao gồm cả các công cụ tích hợp sẵn, và sau đó khôi phục dữ liệu cơ sở dữ liệu.

Sao lưu dữ liệu Microsoft 365

Sao lưu dữ liệu Microsoft 365

Sử dụng giải pháp NAKIVO để sao lưu dữ liệu Microsoft 365 trên Exchange Online, Teams, OneDrive và SharePoint Online, đảm bảo quy trình làm việc diễn ra liên tục và không có thời gian ngừng hoạt động.

Các loại bản sao lưu trong SQL Server

Trong Microsoft SQL Server, việc sao lưu là vô cùng quan trọng để bảo vệ dữ liệu và đảm bảo bạn có thể khôi phục thông tin trong trường hợp mất dữ liệu, hỏng phần cứng hoặc các sự cố khác. SQL Server hỗ trợ nhiều loại bản sao lưu, mỗi loại phục vụ một mục đích cụ thể. Các loại sao lưu chính trong MS SQL Server là:

  • Sao lưu toàn bộ
  • Sao lưu chênh lệch
  • Sao lưu nhật ký giao dịch
  • Sao lưu tệp
  • Sao lưu chỉ sao chép

Sao lưu toàn bộ

Sao lưu toàn bộ SQL Server tạo ra một bản sao của toàn bộ cơ sở dữ liệu MS SQL. Đây là loại sao lưu đơn giản và trực tiếp nhất vì nó bao gồm tất cả các đối tượng và dữ liệu có sẵn trong cơ sở dữ liệu quan hệ. Các loại sao lưu khác của Microsoft SQL Server sử dụng sao lưu toàn bộ làm nền tảng cho mọi loại sao lưu khác.

Sao lưu SQL đầy đủ là bản sao chứa toàn bộ các thành phần của cơ sở dữ liệu, chẳng hạn như bảng, thủ tục, hàm, view, chỉ mục và nhiều thành phần khác. Ngoài ra, nó còn bao gồm một phần của nhật ký giao dịch. Điều này giúp đơn giản hóa quá trình khôi phục cơ sở dữ liệu, đảm bảo cơ sở dữ liệu được khôi phục chính xác về trạng thái tại thời điểm sao lưu.

Phương pháp này cung cấp hình thức khôi phục cơ sở dữ liệu đơn giản nhất vì toàn bộ nội dung cơ sở dữ liệu được chứa trong một bản sao lưu duy nhất.

Các đặc điểm chính của bản sao lưu đầy đủ SQL Server là:

  • Bản sao lưu đầy đủ ghi lại toàn bộ cơ sở dữ liệu, bao gồm tất cả dữ liệu và đối tượng.
  • Đây là loại sao lưu toàn diện nhất và là nền tảng cho các loại sao lưu khác.
  • Bản sao lưu đầy đủ là thiết yếu cho việc khôi phục cơ sở dữ liệu hoàn chỉnh.

Sao lưu chênh lệch

Bản sao lưu chênh lệch trong SQL Server ghi lại chọn lọc dữ liệu của các vùng cơ sở dữ liệu đã thay đổi kể từ bản sao lưu đầy đủ gần nhất, sử dụng bản sao lưu đầy đủ làm điểm xuất phát. Loại sao lưu này bao gồm các thay đổi đối với các đối tượng lược đồ, tệp nhật ký và dữ liệu khác, tối ưu hóa thời gian và hiệu quả lưu trữ đồng thời đảm bảo các thay đổi toàn diện trên máy chủ được sao lưu. Các cờ đặc biệt được sử dụng để đánh dấu các vùng dữ liệu đã thay đổi cho sao lưu chênh lệch.

Sao lưu cơ sở dữ liệu chênh lệch đại diện cho các thay đổi tích lũy kể từ lần sao lưu toàn bộ gần nhất, có thể dẫn đến kích thước nhỏ gọn hoặc đáng kể tùy thuộc vào khối lượng giao dịch gần đây.

Vì sao lưu chênh lệch không bao gồm mọi thành phần, việc thực thi của nó thường nhanh hơn so với sao lưu toàn bộ. Bằng cách ghi lại trạng thái của các đối tượng cơ sở dữ liệu đã thay đổi tại thời điểm tạo, bản sao lưu chênh lệch cơ sở dữ liệu sẽ thể hiện những dữ liệu khác nhau trong mỗi lần sao lưu tiếp theo khi tạo một chuỗi các bản sao lưu chênh lệch cho một cơ sở dữ liệu được cập nhật thường xuyên.

Khi kích thước của các bản sao lưu này ngày càng tăng, việc khôi phục một bản sao lưu chênh lệch có thể làm kéo dài đáng kể thời gian cần thiết để phục hồi. Do đó, nên định kỳ thực hiện một bản sao lưu toàn bộ mới theo các khoảng thời gian đã định trước để thiết lập một cơ sở chênh lệch mới cho dữ liệu.

Tóm lại, các đặc điểm chính của bản sao lưu chênh lệch SQL Server là:

  • Bản sao lưu chênh lệch chỉ ghi lại các thay đổi được thực hiện trên cơ sở dữ liệu kể từ bản sao lưu đầy đủ gần nhất.
  • Nó bao gồm tất cả các thay đổi được thực hiện trong cơ sở dữ liệu kể từ bản sao lưu đầy đủ gần nhất, không chỉ các thay đổi kể từ bản sao lưu chênh lệch gần nhất.
  • Bản sao lưu chênh lệch có thể giảm thời gian cần thiết để khôi phục cơ sở dữ liệu so với việc khôi phục chỉ từ các bản sao lưu đầy đủ.

Đọc thêm về các loại sao lưu toàn bộ, sao lưu chênh lệch và sao lưu gia tăng để hiểu rõ hơn về sự khác biệt giữa chúng.

Sao lưu nhật ký giao dịch

Sao lưu nhật ký giao dịch trong Microsoft SQL Server bao gồm tất cả các giao dịch xảy ra kể từ lần sao lưu nhật ký giao dịch gần nhất, giúp khôi phục cơ sở dữ liệu về một thời điểm cụ thể. Như tên gọi, sao lưu nhật ký tập trung vào việc sao lưu nhật ký giao dịch và chỉ áp dụng cho các mô hình khôi phục toàn bộ hoặc ghi nhật ký khối lượng lớn. Các tệp nhật ký giao dịch duy trì một chuỗi nhật ký ghi lại lịch sử các thay đổi dữ liệu trong cơ sở dữ liệu. Sao lưu nhật ký giao dịch bao gồm tất cả các bản ghi nhật ký chưa được bao gồm trong lần sao lưu nhật ký giao dịch trước đó.

Về cơ bản, sao lưu nhật ký giao dịch bao gồm tất cả các thay đổi được thực hiện trên cơ sở dữ liệu, đặc biệt cần thiết khi sử dụng mô hình khôi phục đầy đủ hoặc ghi nhật ký khối để cắt ngắn nhật ký. Điều quan trọng cần biết là các bản sao lưu nhật ký giao dịch liên tiếp không sao chép dữ liệu và hiệu suất vẫn không bị ảnh hưởng trong quá trình thực hiện sao lưu nhật ký giao dịch. Do đó, bạn có thể thực hiện thao tác này ngay cả trong thời gian tải công việc cao.

Các tính năng chính của sao lưu nhật ký giao dịch trong Microsoft SQL Server là:

  • Các bản sao lưu nhật ký giao dịch ghi lại những thay đổi trong nhật ký giao dịch kể từ lần sao lưu nhật ký gần nhất.
  • Chúng cho phép khôi phục tại một thời điểm cụ thể và đóng vai trò quan trọng trong việc duy trì tính nhất quán của dữ liệu.
  • Được sử dụng kết hợp với sao lưu toàn bộ và sao lưu chênh lệch để tạo ra một chiến lược sao lưu toàn diện.

Sao lưu tệp và nhóm tệp

Sao lưu tệp cho phép sao lưu từng tệp một cách độc lập thay vì phải sao lưu toàn bộ cơ sở dữ liệu. Điều này trở nên phù hợp khi cơ sở dữ liệu của bạn đã thiết lập nhiều tệp dữ liệu.

Một tình huống phù hợp với loại sao lưu này là khi xử lý các tệp có kích thước cực lớn, đòi hỏi sự chú ý đặc biệt trong quá trình sao lưu. Việc thực hiện sao lưu tệp có thể được thực hiện thông qua T-SQL hoặc SSMS. Tuy nhiên, nếu cơ sở dữ liệu của bạn chủ yếu bao gồm một tệp dữ liệu duy nhất, tùy chọn này có thể không phù hợp.

Các tính năng chính của sao lưu tệp MS SQL là:

  • Loại sao lưu này cho phép bạn sao lưu các tệp cơ sở dữ liệu hoặc nhóm tệp riêng lẻ.
  • Hữu ích khi bạn cần sao lưu chọn lọc các phần cụ thể của cơ sở dữ liệu.
  • Bạn cũng có thể sử dụng sao lưu tệp/nhóm tệp cho việc khôi phục từng phần.

Sao lưu chỉ sao chép

Sao lưu chỉ sao chép cho MS SQL Server hoạt động độc lập với chuỗi sao lưu thông thường, tạo bản sao lưu mà không ảnh hưởng đến các bản sao lưu gốc, chuỗi sao lưu hoặc quy trình khôi phục. Sao lưu chỉ sao chép hữu ích để thử nghiệm các thay đổi đối với thông tin đã sao lưu mà không ảnh hưởng đến tập dữ liệu chính, cho phép tạo bản sao lưu mà không làm gián đoạn các quy trình sao lưu và khôi phục tổng thể của cơ sở dữ liệu. Lưu ý rằng sao lưu chỉ sao chép (đối với sao lưu toàn bộ) không thể được sử dụng để tạo sao lưu chênh lệch.

Lợi ích chính của sao lưu chỉ sao chép nằm ở tính chất không gây gián đoạn đối với chuỗi sao lưu thông thường và các quy trình khôi phục tiêu chuẩn. Thông thường, hầu hết các phương pháp sao lưu MS SQL Server đều ảnh hưởng đến cơ sở dữ liệu và quy trình khôi phục. Bằng cách sử dụng sao lưu chỉ sao chép, các nhóm CNTT có thể tạo các bản sao lưu độc lập với các bản sao lưu gốc và quy trình khôi phục. Cần lưu ý rằng sao lưu chỉ sao chép không cho phép ghi lại lịch sử sao lưu tập trung.

Trừ khi sử dụng sao lưu chỉ sao chép cho sao lưu toàn bộ, sao lưu chênh lệch tiếp theo có thể bị ảnh hưởng. Sự khác biệt chính giữa sao lưu toàn bộ và sao lưu chỉ sao chép toàn bộ nằm ở việc sao lưu chỉ sao chép toàn bộ không phá vỡ chuỗi sao lưu chênh lệch. Điều quan trọng là cả hai phương pháp này đều không làm gián đoạn chuỗi nhật ký, vì cả hai đều không cắt ngắn tệp nhật ký.

Đối với các bản sao lưu nhật ký, áp dụng cho các mô hình khôi phục toàn bộ và nhật ký hàng loạt, mục đích của bản sao lưu nhật ký chỉ sao chép (copy-only log backup) là ghi lại điểm lưu trữ nhật ký hiện có. Mặc dù ít được sử dụng, bản sao lưu nhật ký chỉ sao chép có thể hữu ích cho việc khôi phục trực tuyến trong một số tình huống nhất định.

Các tính năng chính của bản sao lưu chỉ sao chép trong MS SQL là:

  • Bản sao lưu chỉ sao chép không ảnh hưởng đến chuỗi sao lưu thông thường. Đây là bản sao lưu bổ sung được thực hiện độc lập với chuỗi sao lưu định kỳ.
  • Hữu ích để tạo bản sao lưu cho các mục đích cụ thể mà không làm gián đoạn chiến lược sao lưu đã thiết lập.

Tất cả các loại bản sao lưu Microsoft SQL Server này có thể được kết hợp để tạo ra một chiến lược sao lưu toàn diện đáp ứng các yêu cầu cụ thể của môi trường SQL Server của bạn. Thường xuyên kiểm thử và xác thực các quy trình sao lưu và khôi phục của bạn cũng là các thành phần thiết yếu của một hệ thống sao lưu mạnh mẽ chiến lược bảo vệ dữ liệu.

Cách sao lưu cơ sở dữ liệu SQL

Có một số phương pháp để tạo bản sao lưu cơ sở dữ liệu MS SQL bằng các công cụ gốc của Microsoft:

  • MS SQL Server Management Studio (SSMS) là một công cụ gốc miễn phí với giao diện đồ họa thân thiện với người dùng. SSMS cần được cài đặt thủ công trên cùng máy chủ hoặc máy tính từ xa nơi SQL Server được cài đặt.
  • Transaction SQL (T-SQL) các lệnh được sử dụng để quản lý MS SQL Server, bao gồm các hoạt động sao lưu và khôi phục cơ sở dữ liệu.
  • sqlcmd là một tiện ích trong dòng lệnh Windows (cmd) cho phép bạn chạy các lệnh T-SQL trên SQL Server.
  • PowerShell là một môi trường dòng lệnh nâng cao trong Windows hỗ trợ quản lý SQL Server sau khi cài đặt mô-đun PowerShell SqlServer

Sao lưu trong MS SQL Server Management Studio

Để thực hiện sao lưu cơ sở dữ liệu SQL Server, hãy thực hiện các bước sau:

  1. Mở MS SQL Server Management Studio (SSMS) và đăng nhập vào SSMS bằng tài khoản quản trị.
  2. Trong Object Explorer, nằm ở phía bên phải của cửa sổ SSMS, hãy chuyển đến Databases và nhấp chuột phải vào tên cơ sở dữ liệu mà bạn muốn sao lưu. Trong ví dụ này, chúng tôi sử dụng AdventureWorks2022 làm cơ sở dữ liệu.
  3. Trong menu ngữ cảnh, nhấp vào Tasks > Backup.

    MS SQL database backup in SSMS

  4. Đặt các tham số trong cửa sổ Back Up Database .
    • Nguồn:
      • Cơ sở dữ liệu: AdventureWorks2022
      • Loại sao lưu: Chọn Full hoặc Differential (bạn cần tạo bản sao lưu đầy đủ trước).
      • Thành phần sao lưu: Database
    • Địa chỉ đích:
      • Sao lưu vào: Disk hoặc URL (chọn đĩa)
    • Hủy chọn hộp kiểm sao lưu Copy-only nếu bạn không muốn tạo bản sao lưu chỉ sao chép.

    LƯU Ý : Bạn có thể chỉnh sửa cài đặt nếu muốn tạo bản sao lưu loại khác.

    Đường dẫn được đặt trong thuộc tính chung của máy chủ cơ sở dữ liệu MS SQL sẽ được chọn mặc định. Bạn có thể thay đổi đường dẫn mặc định trong cài đặt toàn cầu – nhấp chuột phải vào tên máy chủ MS SQL trong Object Explorer, nhấp vào Properties, chọn trang Database Settings và xem/chỉnh sửa Database default locations.

  5. Nhấp vào Add để chọn vị trí đích tùy chỉnh cho tác vụ sao lưu MS SQL hiện tại và chọn Delete để xóa vị trí không cần thiết tương ứng. Trong ví dụ này, chúng tôi chọn "D:MS SQL Backup DBAdventureWorks" .

    LƯU Ý : Để lưu trữ bản sao lưu, hãy sử dụng một đĩa khác với đĩa chứa cơ sở dữ liệu gốc. Bạn nên tuân theo Quy tắc sao lưu 3-2-1 để có chiến lược bảo vệ dữ liệu mạnh mẽ. Bạn cũng có thể cấu hình hành vi ghi đè và nén trong Tùy chọn Phương tiện và Tùy chọn Sao lưu cho phù hợp. Nút Script tạo một tập lệnh T-SQL dựa trên các cài đặt đã chọn.

    Configuring MS SQL database backup in SSMS

  6. Đừng quên nhập tên tệp sao lưu. Lưu ý rằng các bản sao lưu chênh lệch có thể sử dụng phần mở rộng tệp .dif .

    Selecting the destination location for a database backup

  7. Nhấn OK trong mỗi cửa sổ để tiếp tục.

Nếu mọi thứ đều chính xác, bạn sẽ thấy thông báo: The backup of database "AdventureWorks2022" completed successfully.

Lịch trình sao lưu Microsoft SQL trong SSMS

Bạn có thể tự động hóa việc sao lưu cơ sở dữ liệu MS SQL và lên lịch các tác vụ sao lưu. Để lên lịch sao lưu cơ sở dữ liệu, hãy thực hiện các bước sau trong Microsoft SQL Server Management Studio.

  1. Trong Object Explorer, đi đến Management, nhấp chuột phải vào Maintenance Plans, và nhấp vào New Maintenance Plan.
  2. Nhập tên cho kế hoạch bảo trì mới, ví dụ: MS SQL Backup Plan. Nhấn OK.

    Creating a maintenance plan to configure the MS SQL database backup schedule

  3. Nhấp vào biểu tượng Calendar (Lịch trình kế hoạch con) để định cấu hình lịch trình sao lưu MS SQL.

    Opening a calendar to schedule a backup task in SSMS

  4. Chọn các tùy chọn lập lịch sao lưu MS SQL cần thiết:
    • Loại lịch trình: Lặp lại (mặc định)
    • Tần suất
    • Tần suất hàng ngày
    • Thời lượng

    Nhấn OK để lưu cài đặt.

    Creating a new database backup job schedule in MS SQL Management Studio

  5. Nhấp vào ToolBox ở góc trên cùng bên trái của giao diện SSMS.

    Opening the Toolbox in MS SQL Server Management Studio

  6. Kéo Back Up Database Task từ Toolbox vào khu vực trống của tab MS SQL Backup Plan [Design] .
  7. Nhấp đúp vào Back Up Database Task mà bạn vừa kéo và thả vào tab MS SQL Backup Plan [Design] .

    Drag and drop the Back Up Database Task from the Toolbox

  8. Cửa sổ tùy chọn Back Up Database Task sẽ mở ra. Chọn loại kết nối, chẳng hạn như Local server connection.
  9. Cấu hình các thiết lập cần thiết trong các tab General, Destination, Options :
    • Loại sao lưu: Full hoặc Differential
    • Cơ sở dữ liệu: Specific databases, all databases, system databases, hoặc All user databases.
    • Sao lưu đến: Disk

    Configure a scheduled MS SQL database backup task

    Các tùy chọn trong các tab DestinationOptions được hiển thị trong ảnh chụp màn hình bên dưới.

    Nhấp vào OK để lưu cài đặt cho tác vụ sao lưu cơ sở dữ liệu MS SQL theo lịch trình.

    The Destination and Options tabs

  10. Bạn có thể nhấp vào View T-SQL để xem các lệnh có thể sử dụng trong T-SQL để chạy tác vụ đã tạo trong giao diện người dùng đồ họa của SSMS.

    Viewing a T-SQL database backup script generated with a scheduled task

  11. Nhấn Ctrl+S để lưu thay đổi trong SSMS.
  12. Nhấn F5 để làm mới các mục hiển thị trong SSMS.
  13. Truy cập SQL Server Agent > Jobs trong Object Explorer. Bạn có thể mở Job Activity Monitor và xem MS SQL Backup Plan.Sublan trong danh sách tác vụ.

    Viewing an MS SQL database backup status in the Job activity monitor

  14. Làm mới trang bằng cách nhấp chuột phải vào Jobs hoặc một đối tượng khác và nhấp vào Refresh. Trong Object Explorer, truy cập SQL Server Agent > Jobs, chọn MS SQL Backup Plan.Subplan, nhấp chuột phải vào đối tượng này và nhấp vào Start Job at Step để bắt đầu tác vụ sao lưu theo lịch trình ngay lập tức.

    Starting an MS SQL backup job immediately

    Ngoài ra, bạn có thể tạo tác vụ sao lưu MS SQL theo lịch trình bằng cách truy cập Object Explorer > Management > New Maintenance Plan. Các tùy chọn tương tự nhưng bạn phải thực hiện tất cả các bước.

Sao lưu MS SQL bằng T-SQL

Sử dụng các lệnh chính sau để sao lưu cơ sở dữ liệu MS SQL bằng T-SQL cho từng loại sao lưu:

  • Sao lưu toàn bộ:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Full.bak';

    Thay thế YourDatabaseName bằng tên cơ sở dữ liệu của bạn và chỉ định đường dẫn tệp sao lưu mong muốn (sử dụng đĩa khác, không phải đĩa hệ thống (C:) hoặc đĩa chứa cơ sở dữ liệu gốc).

  • Sao lưu chênh lệch:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Diff.bak' WITH DIFFERENTIAL;

    Đảm bảo rằng bạn đã tạo bản sao lưu toàn bộ trước khi tạo bản sao lưu chênh lệch.

  • Sao lưu nhật ký giao dịch:

    BACKUP LOG YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Log.bak';

    Sao lưu nhật ký giao dịch rất quan trọng để khôi phục tại một thời điểm cụ thể và duy trì tính nhất quán của dữ liệu.

  • Sao lưu tệp:

    BACKUP DATABASE YourDatabaseName FILE = 'LogicalFileName' TO DISK = 'C:BackupYourDatabaseName_File.bak';

    Thay thế LogicalFileName bằng tên logic của tệp hoặc nhóm tệp mà bạn muốn sao lưu.

  • Sao lưu chỉ sao chép:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_CopyOnly.bak' WITH COPY_ONLY;

    Sao lưu chỉ sao chép không làm gián đoạn quy trình sao lưu thông thường.

Chúng tôi đã giải thích các lệnh cơ bản trong các ví dụ trên. Bạn có thể sử dụng các tham số bổ sung để tinh chỉnh các thiết lập sao lưu nâng cao trong các lệnh T-SQL. Dưới đây là một số ví dụ về các kịch bản T-SQL để thực hiện sao lưu trong Microsoft SQL Server với các tùy chọn nâng cao, bao gồm nén:

  • Sao lưu đầy đủ với nén:

    -- Full Backup with Compression

    BACKUP DATABASE YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_Full.bak'

    WITH COMPRESSION, INIT;

    Trong đó:

    YourDatabaseName phải được thay thế bằng tên cơ sở dữ liệu của bạn.

    C:BackupYourDatabaseName_Full.bak là đường dẫn và tên tệp cho tệp sao lưu cần được điều chỉnh theo trường hợp của bạn.

    WITH COMPRESSION là tùy chọn kích hoạt nén để giảm kích thước sao lưu.

    INIT là tùy chọn khởi tạo bộ phương tiện mới.

    -- xác định phần đầu của bình luận

  • Sao lưu toàn bộ với các tùy chọn khác nhau:

    -- Full Backup with various options

    BACKUP DATABASE YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_Full.bak'

    WITH

     FORMAT, – Ghi đè lên bộ phương tiện hiện có

     NAME = 'FullBackup', – Chỉ định tên bộ sao lưu

     STATS = 10, – Hiển thị thông báo mỗi khi hoàn thành 10%

     CHECKSUM, – Kiểm tra tính toàn vẹn của bản sao lưu

     COMPRESSION, – Bật tính năng nén

     INIT; – Khởi tạo một bộ phương tiện mới

  • Sao lưu nhật ký giao dịch:

    -- Transaction Log Backup

    BACKUP LOG YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_LogBackup.trn'

    WITH

     FORMAT, – Ghi đè lên bộ phương tiện hiện có

     NAME = 'LogBackup', – Chỉ định tên bộ sao lưu

     STATS = 10, – Hiển thị thông báo mỗi khi hoàn thành 10%

     INIT; – Khởi tạo bộ phương tiện mới

  • Sao lưu vào nhiều tệp:

    -- Full Backup to Multiple Files

    BACKUP DATABASE YourDatabaseName

    TO

    DISK = 'C:BackupYourDatabaseName_Full1.bak',

    DISK = 'C:BackupYourDatabaseName_Full2.bak'

    WITH INIT;

Các ví dụ này trình bày các tùy chọn nâng cao như định dạng bộ phương tiện, chỉ định tên bộ sao lưu, hiển thị thống kê tiến độ và kiểm tra tổng kiểm tra. Bạn có thể tùy chỉnh các kịch bản mẫu này dựa trên yêu cầu và sở thích cụ thể của mình.

Sao lưu bảng MS SQL

Để sao lưu một bảng cụ thể trong Microsoft SQL Server, bạn có thể sử dụng tính năng Generate Scripts trong MS SQL Server Management Studio (SSMS) để tạo kịch bản sao lưu cho cấu trúc và dữ liệu của bảng hoặc sử dụng tiện ích bcp (Bulk Copy Program). Hãy xem xét các bước dưới đây cho cả hai phương pháp.

Phương pháp 1: Tạo tập lệnh trong SSMS

Thực hiện các bước sau để tạo tập lệnh T-SQL và sao lưu một bảng cụ thể của cơ sở dữ liệu MS SQL:

  1. Khởi chạy MS SQL Server Management Studio và kết nối với phiên bản MS SQL Server.
  2. Di chuyển đến một cơ sở dữ liệu trong Object Explorer và nhấp chuột phải vào tên cơ sở dữ liệu. Nhấp vào Tasks > Generate Scripts trong menu ngữ cảnh.

    Generating a T-SQL script

  3. Đọc các mẹo trong bước Introduction của trình hướng dẫn Generate Scripts . Bạn có thể chọn hộp kiểm Do not show this page again . Nhấn Next tại mỗi bước của trình hướng dẫn để tiếp tục.
  4. Tại bước Choose Objects , nhấp vào Select specific database objects. Chọn (các) bảng cần sao lưu. Trong ví dụ này, chúng tôi chọn bảng Person.Address của cơ sở dữ liệu để sao lưu.

    Selecting an MS SQL table to back up

  5. Chỉ định cách lưu các tập lệnh tại bước Set Scripting Options . Chọn Save as script file và chọn Single script file. Nhập tên tệp cho bản sao lưu vào thư mục thích hợp. Nhấp vào để chọn thư mục và nhập tên bản sao lưu bảng MS SQL.

    Setting the scripting options

  6. Nhấp vào Advanced và, trong cửa sổ Advanced Scripting Options đã mở, đặt Types of data to script = Schema and data. Nhấp vào OK để lưu cài đặt và đóng cửa sổ. Sau đó, tiếp tục đến bước tiếp theo của trình hướng dẫn.

    Configuring advanced scripting options

  7. Kiểm tra tóm tắt cấu hình và chuyển đến bước cuối cùng của việc sao lưu bảng cơ sở dữ liệu.

    The configuration summary to generate a table backup script

  8. Tại bước Save Scripts , bạn có thể xem tiến trình sao lưu. Chờ cho đến khi quá trình sao lưu cơ sở dữ liệu MS SQL hoàn tất.

    Saving a script for a table backup

  9. Mở Windows Explorer và tìm tệp sao lưu bảng MS SQL đã tạo trong thư mục đích đã chọn. Trong ví dụ này, chúng ta có tệp MS_SQL_Table_Backup.sql .

    A script for MS SQL table backup is saved as an sql file

  10. Nhấp đúp vào tệp MS_SQL_Table_Backup.sql và mở tệp kịch bản SQL này trong SSMS. Thay đổi tên cơ sở dữ liệu ở dòng đầu tiên để phù hợp với yêu cầu của môi trường của bạn.

    A table backup script

  11. Nhấp vào Execute để chạy tập lệnh sao lưu bảng MS SQL.

Phương pháp 2: Sử dụng bcp (Bulk Copy Program)

Sử dụng quy trình làm việc sau để thực hiện sao lưu bảng MS SQL bằng bcp:

  1. Mở cửa sổ lệnh (nhấn Win+R, gõ cmd và nhấn Enter) trong Windows với quyền quản trị.
  2. Truy cập vào tệp thực thi tiện ích bcp trong thư mục cài đặt MS SQL Server (160 được sử dụng cho MS SQL Server 2022). Ví dụ:

    cd C:Program FilesMicrosoft SQL Server160ToolsBinn

  3. Chạy lệnh bcp để xuất dữ liệu bảng vào tệp. Thay thế <DatabaseName>, <SchemaName>, <TableName>, và <OutputFilePath> bằng cơ sở dữ liệu, lược đồ, bảng và đường dẫn tệp đầu ra mong muốn của bạn.

    bcp .. out -c -S -T

    Địa chỉ:

    -c – chỉ định dữ liệu ký tự (không phải Unicode) cần sao chép.

    -S – chỉ định tên máy chủ.

    -T – sử dụng kết nối đáng tin cậy (xác thực Windows).

  4. Kiểm tra tệp đầu ra đã chỉ định để xem dữ liệu đã xuất.

Cách khôi phục cơ sở dữ liệu SQL Server

Khi sử dụng các công cụ gốc của Microsoft để sao lưu cơ sở dữ liệu MS SQL, các bản sao lưu này thường được lưu dưới dạng tệp .bak . Để mở tệp .bak , bạn nên sử dụng MS SQL Server Management Studio (SSMS), một công cụ do Microsoft cung cấp để quản lý cơ sở dữ liệu MS SQL Server. Khôi phục dữ liệu từ bản sao lưu này về trạng thái bình thường. Chỉ khi đó bạn mới có thể mở dữ liệu.

LƯU Ý : Bạn có thể sao chép tệp backupname.bak , đổi tên tệp đã sao chép backupname.bak thành backupname.xls và mở tệp .xls trong Microsoft Excel nếu cần xem dữ liệu từ bản sao lưu nhưng hiện tại chưa cài đặt MS SQL Server. Việc sao chép tệp giúp tránh hỏng tệp sao lưu chính nếu xảy ra sự cố.

Khôi phục cơ sở dữ liệu MS SQL trong SSMS

Lưu ý rằng bạn cần có quyền truy cập cần thiết để thực hiện khôi phục cơ sở dữ liệu, và phiên bản MS SQL Server phải có thể truy cập tệp .bak .

Để khôi phục cơ sở dữ liệu MS SQL Server trong MS SQL Server Management Studio từ tệp sao lưu, hãy thực hiện các bước sau:

  1. Đăng nhập vào máy chủ MS SQL Server trong SSMS bằng tài khoản quản trị.
  2. Nhấp chuột phải vào Databases trong Object Explorer và nhấp vào Restore Database trong menu ngữ cảnh.

    How to restore an MS SQL database from a backup in MS SQL Management Studio

  3. Trong cửa sổ Restore Database , chọn Device để khôi phục cơ sở dữ liệu MS SQL từ tệp .bak và nhấp vào nút để chọn tệp .bak .

    How to open a .bak file to restore an MS SQL database in SSMS

  4. Chọn File làm loại phương tiện sao lưu và nhấp vào Add.

    Adding a backup file from which a database must be restored

  5. Tìm tệp sao lưu. Theo mặc định, thư mục sao lưu mặc định sẽ được hiển thị trong cửa sổ. Truy cập vào thư mục cần thiết và chọn tệp sao lưu. Trong ví dụ này, tệp AdventureWorks2022.bak được chọn.

    Selecting an MS SQL database backup file with the bak extension

  6. Nhấp đúp vào OK để lưu cài đặt và quay lại cửa sổ Restore Database . SSMS sẽ hiển thị tiến trình của thao tác khôi phục. Bạn có thể theo dõi quá trình này trong cửa sổ Restore Progress .

    Ready to restore a database in SSMS

Nếu mọi thứ đều chính xác, bạn sẽ thấy thông báo này sau khi khôi phục cơ sở dữ liệu:

Database 'AdventureWorks2022' restored successfully.

Khôi phục cơ sở dữ liệu MS SQL bằng T-SQL

Bạn có thể sử dụng các lệnh T-SQL để khôi phục cơ sở dữ liệu từ tệp .bak bằng câu lệnh RESTORE DATABASE . Điều này có thể hữu ích trong các kịch bản hoặc trường hợp không có sẵn SSMS. Hãy xem xét các lệnh sau để khôi phục cơ sở dữ liệu MS SQL bằng T-SQL.

  • Khôi phục toàn bộ cơ sở dữ liệu:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Full.bak' WITH REPLACE;

    Thay thế YourDatabaseName bằng tên cơ sở dữ liệu của bạn và chỉ định đường dẫn đến tệp sao lưu toàn bộ. Tùy chọn WITH REPLACE là bắt buộc nếu bạn đang ghi đè lên một cơ sở dữ liệu hiện có.

  • Khôi phục cơ sở dữ liệu chênh lệch:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Diff.bak' WITH NORECOVERY;

    Sau khi khôi phục bản sao lưu chênh lệch, bạn có thể cần khôi phục thêm các bản sao lưu nhật ký giao dịch để khôi phục cơ sở dữ liệu về thời điểm mới nhất.

    • Để khôi phục bản sao lưu nhật ký giao dịch, hãy sử dụng lệnh T-SQL sau:

      RESTORE LOG YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Log.bak' WITH NORECOVERY;

    • Lặp lại lệnh này cho từng bản sao lưu nhật ký giao dịch theo thứ tự. Cuối cùng, thực thi lệnh sau để đưa cơ sở dữ liệu vào trạng thái hoạt động:

      RESTORE DATABASE YourDatabaseName WITH RECOVERY;

    • Đảm bảo các bản sao lưu nhật ký giao dịch được áp dụng theo thứ tự chính xác.
  • Khôi phục tệp hoặc nhóm tệp:

    RESTORE DATABASE YourDatabaseName FILE = 'LogicalFileName' FROM DISK = 'C:BackupYourDatabaseName_File.bak' WITH REPLACE;

    Thay thế LogicalFileName bằng tên logic của tệp hoặc nhóm tệp.

  • Khôi phục chỉ sao chép:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_CopyOnly.bak' WITH REPLACE, COPY_ONLY;

    Tùy chọn COPY_ONLY là bắt buộc cho các lần khôi phục chỉ sao chép.

Microsoft SQL Backup & Khôi phục với NAKIVO

NAKIVO Backup & Replication là giải pháp bảo vệ dữ liệu toàn diện hỗ trợ sao lưu các máy chủ chạy cơ sở dữ liệu MS SQL. Sao lưu Microsoft SQL được tạo khi bạn sao lưu một máy Windows được triển khai dưới dạng máy vật lý hoặc máy ảo. Do đó, bạn có thể bảo vệ toàn bộ máy chủ cùng với các cơ sở dữ liệu Microsoft SQL đang chạy trên máy chủ đó. Giải pháp NAKIVO cho phép bạn khôi phục toàn bộ máy vật lý hoặc máy ảo, một cơ sở dữ liệu Microsoft SQL cụ thể hoặc các đối tượng cơ sở dữ liệu. Cách tiếp cận này giúp tăng tốc quá trình khôi phục và mang lại sự linh hoạt hơn trong quá trình khôi phục.

Ưu điểm của việc sao lưu Microsoft SQL Server với giải pháp NAKIVO là khả năng sử dụng phương pháp sao lưu gia tăng. Sao lưu gia tăng giúp tăng tốc quá trình sao lưu và tiết kiệm không gian lưu trữ. Các kỹ thuật nén, mã hóa và cắt bớt nhật ký SQL giúp việc sử dụng không gian lưu trữ trở nên hợp lý hơn, đồng thời đảm bảo quá trình sao lưu diễn ra nhanh chóng và an toàn. Các tác vụ sao lưu được lên lịch và tự động hóa.

Sao lưu máy chủ chạy SQL: Hướng dẫn từng bước với NAKIVO

Thực hiện các bước sau để sao lưu máy tính Windows có cơ sở dữ liệu MS SQL dưới dạng NAKIVO Backup & Replication:

  1. Mở giao diện web của NAKIVO Backup & Replication trong trình duyệt web.
  2. Đảm bảo rằng máy chủ Windows vật lý hoặc máy ảo cần thiết có cài đặt Microsoft SQL Server đã được thêm vào danh sách tài sản của NAKIVO. Bạn có thể thêm máy vật lý, máy chủ VMware vCenter, máy chủ ESXi và các mặt hàng khác vào kho bằng cách truy cập Settings > Inventory.

    Đảm bảo có đủ dung lượng trống trong kho lưu trữ dự phòng để lưu trữ bản sao lưu.

    A machine with MS SQL Server is added to the inventory

  3. Tạo tác vụ sao lưu mới cho máy tính cài đặt Microsoft SQL Server. Với NAKIVO, bạn có thể sao lưu máy tính có Microsoft SQL Server khi hệ thống đang hoạt động. Nhấp vào Jobs > + (Tạo tác vụ mới) và chọn loại tác vụ cần thiết. Trong ví dụ này, chúng tôi sao lưu một máy vật lý và chọn Physical machine backup job.

    Creating a new backup job for MS SQL Server backup in the NAKIVO solution

  4. Chọn máy có cài đặt MS SQL Server trong bước đầu tiên của trình hướng dẫn tác vụ sao lưu mới. Chúng tôi chọn máy chủ Windows Server 2022 có cài đặt MS SQL Server 2022. Bạn có thể chọn nhiều máy trong một tác vụ. Nhấp vào Next tại mỗi bước của trình hướng dẫn để tiếp tục.

    Selecting a machine running MS SQL Server to back up

  5. Chọn kho lưu trữ sao lưu nơi bạn muốn lưu trữ bản sao lưu. Bạn có thể chọn kho lưu trữ sao lưu cục bộ hoặc kho lưu trữ trên đám mây. Nên sử dụng kho lưu trữ cục bộ trước rồi tạo bản sao lưu lên đám mây hoặc kho lưu trữ khác để tuân thủ quy tắc sao lưu 3-2-1.

    Selecting a backup repository to store backups

  6. Chọn tùy chọn lịch trình. Các phiên bản mới nhất của giải pháp NAKIVO sử dụng lịch trình kết hợp phương pháp lập lịch và lưu trữ. Bạn có thể cấu hình quy tắc lưu trữ linh hoạt cho các tác vụ sao lưu, bao gồm cả tác vụ sao lưu cơ sở dữ liệu MS SQL. Đặt tên cho từng lịch trình.

    Configuring a backup schedule for MS SQL Server

  7. Cấu hình tùy chọn tác vụ sao lưu. Nhập tên tác vụ, ví dụ: Tác vụ sao lưu MS SQL Server 2022. Cấu hình cài đặt sao lưu toàn bộ. Theo mặc định, sao lưu gia tăng được sử dụng cùng với các bản sao lưu toàn bộ định kỳ. Sao lưu toàn bộ có thể là Active full{177}. Nhấp vào Finish hoặc Finish & Run để chạy tác vụ ngay lập tức.

    Configuring backup job options

  8. Chờ cho đến khi tác vụ sao lưu hoàn tất.

Lưu ý rằng NAKIVO Backup & Replication hỗ trợ cắt ngắn nhật ký cho Microsoft SQL Server, Exchange Server và Oracle Database để tiết kiệm không gian lưu trữ trên máy chủ nguồn sau khi sao lưu.

Khôi phục cơ sở dữ liệu SQL với NAKIVO

Quá trình khôi phục cơ sở dữ liệu MS SQL trong NAKIVO Backup & Replication rất đơn giản. Bạn có thể khôi phục toàn bộ máy vật lý hoặc máy ảo cùng với cơ sở dữ liệu. Ngoài ra, bạn có thể sử dụng tính năng khôi phục chi tiết và chỉ khôi phục các đối tượng cơ sở dữ liệu (toàn bộ cơ sở dữ liệu, bảng, v.v.).

Thực hiện các bước sau để khôi phục cơ sở dữ liệu MS SQL hoặc các đối tượng cơ sở dữ liệu cụ thể trong NAKIVO Backup & Replication:

  1. Trong giao diện web của giải pháp NAKIVO, truy cập Jobs > Recover > Microsoft SQL Server objects.

    Starting to recover Microsoft SQL Server objects from a backup

  2. Tại bước đầu tiên của Object Recovery Wizard for Microsoft SQL Server, chọn bản sao lưu của máy tính chứa cơ sở dữ liệu MS SQL Server và chọn điểm khôi phục. Đảm bảo rằng ô chọn Automatically locate application databases đã được đánh dấu. Nhấn Next tại mỗi bước của trình hướng dẫn khôi phục để tiếp tục.

    Selecting a recovery point to recover MS SQL database objects

  3. Chọn máy chủ khôi phục. Máy chủ khôi phục có thể là máy chủ gốc được sử dụng làm nguồn để tạo bản sao lưu hoặc một máy tính mới không chứa cơ sở dữ liệu đang được khôi phục. Chúng tôi chọn máy chủ gốc để khôi phục cơ sở dữ liệu.
    • Nhập thông tin đăng nhập của máy chủ khôi phục và nhấp vào Test Connection.
    • Chọn một phiên bản SQL trên máy chủ này sau khi kết nối thành công.

      Selecting a recovery server for an MS SQL database

    • Tại bước Objects của trình hướng dẫn khôi phục, chọn cơ sở dữ liệu bạn muốn khôi phục (tệp .mdf ).

      Selecting a database file from a backup

      Nếu bạn không cần khôi phục toàn bộ cơ sở dữ liệu, hãy nhấp vào biểu tượng > trong khung bên trái tại tên cơ sở dữ liệu để mở rộng đối tượng cơ sở dữ liệu và chọn các đối tượng cụ thể cần khôi phục.

      Selecting individual database objects to recover

  4. Xác định Các tùy chọn công việc phục hồi từ các tùy chọn được liệt kê bên dưới:

    Phạm vi khôi phục :

    • Khôi phục lược đồ và dữ liệu
    • Chỉ khôi phục lược đồ

    Loại khôi phục :

    • Khôi phục về vị trí gốc
    • Khôi phục về vị trí tùy chỉnh
    • Xuất

    Hành vi ghi đè :

    • Đổi tên mục đã khôi phục nếu mục đó tồn tại (mặc định)
    • Bỏ qua mục đã khôi phục nếu mục đó tồn tại
    • Ghi đè lên mục gốc nếu mục đó tồn tại

    Configuring MS SQL database recovery options in NAKIVO Backup & Replication

    Nhấp vào Recover và đợi cho đến khi cơ sở dữ liệu hoặc các đối tượng cơ sở dữ liệu đã chọn được khôi phục.

Hãy thử NAKIVO Backup & Replication

Hãy thử NAKIVO Backup & Replication

Đăng ký dùng thử miễn phí để khám phá toàn bộ các tính năng bảo vệ dữ liệu của giải pháp. Dùng thử miễn phí trong 15 ngày. Không có bất kỳ giới hạn nào về tính năng hay dung lượng. Không cần thẻ tín dụng.

People also read