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 cơ sở 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, nhằm đả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 đóng vai trò quan trọng trong việc 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, lỗi 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 bao gồm:

  • 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 quan nhất vì nó bao gồm tất cả các đối tượng và dữ liệu có 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 toàn bộ SQL Server là bản sao chứa đầy đủ tất cả 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 đề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 đủ trong 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 để khôi phục cơ sở dữ liệu một cách hoàn chỉnh.

Bản sao lưu chênh lệch

Bản sao lưu chênh lệch trong SQL Server ghi lại có chọn lọc dữ liệu của các vùng mở rộng cơ sở dữ liệu đã thay đổi kể từ lần sao lưu đầy đủ gần nhất, lấy 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, giúp 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 cơ sở 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 thể hiện 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, quá trình thực hiện 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ẽ chứa 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 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 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 những thay đổi được thực hiện trên cơ sở dữ liệu kể từ lần sao lưu toàn bộ 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ừ lần sao lưu toàn bộ gần nhất, không chỉ những thay đổi kể từ lầ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 chỉ khôi phục từ các bản sao lưu toàn bộ.

Tìm hiểu 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ý hàng loạt. Các tệp nhật ký giao dịch lưu giữ một chuỗi các bản ghi ghi lại lịch sử các thay đổi dữ liệu trong cơ sở dữ liệu. Bản 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ề bản chất, 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 phục hồi đầy đủ hoặc ghi nhật ký hàng loạt để 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 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 các khoảng thời gian có khối lượng 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 các 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 các bản 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 hữu ích khi cơ sở dữ liệu của bạn đã được thiết lập với 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 phải 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 chỉ 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 riêng lẻ hoặc các nhóm tệp.
  • Rất hữu ích khi bạn cần sao lưu có 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 để 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 giao thức 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 các bản sao lưu chênh lệch.

Ưu điểm 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à các 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 một cách tập trung.

Trừ khi sử dụng sao lưu chỉ sao chép cho bản sao lưu toàn bộ, bản sao lưu chênh lệch tiếp theo có thể bị ảnh hưởng. Điểm khác biệt chính giữa bản sao lưu toàn bộ và bản sao lưu toàn bộ chỉ sao chép nằm ở chỗ bản sau không làm gián đoạn 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 việc sao lưu nhật ký, áp dụng cho các mô hình khôi phục đầy đủ và khôi phục nhật ký hàng loạt, mục đích của sao lưu nhật ký chỉ sao chép là ghi lại điểm lưu trữ nhật ký hiện có. Mặc dù hiếm khi được sử dụng, nhưng 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 sao lưu chỉ sao chép trong Microsoft SQL Server là:

  • Sao lưu chỉ sao chép không ảnh hưởng đến chuỗi sao lưu thông thường. Đây là một 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 các 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 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ực hiện định kỳ kiểm tra và xác thực các quy trình sao lưu và khôi phục cũng là những thành phần thiết yếu của một chiến lược bảo vệ dữ liệuvững chắc.

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 thao tác 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 tại SqlServer .

Sao lưu trong MS SQL Server Management Studio

Để tạo bả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 toàn bộ 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 bỏ 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 thiết lập 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 chung – 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 hướng dẫn tại 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 tương ứng. Nút Tạo kịch bản sẽ tạo kịch bản T-SQL dựa trên các thiết lập đã 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ấp vào 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 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ấp vào 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 phụ) để 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ịch trình 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ấp vào 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 bên trái giao diện SSMS.

    Opening the Toolbox in MS SQL Server Management Studio

  6. Kéo Back Up Database Task từ Toolbox vào vùng 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 Destination và Options được hiển thị trong ảnh chụp màn hình bên dưới.

    Nhấn 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ụ mà bạn đã 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 các thay đổi trong SSMS.
  12. Nhấn F5 để làm mới các mục hiển thị trong SSMS.
  13. Chuyển đến 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, chuyển đến 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ự cũng có sẵn 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 đây để 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 một đĩ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';

    Các bản sao lưu nhật ký giao dịch rất quan trọng đối với việc 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 (Copy-only) không làm gián đoạn chuỗi 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ề tập lệnh 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 toàn bộ 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 thay đổi trong trường hợp của bạn.

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

    INIT là tùy chọn khởi tạo một 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 sau mỗi 10% tiến độ hoàn thành

     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 sau mỗi 10% tiến độ hoàn thành

     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 minh họa 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à xác minh 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 tập lệnh 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ể trong 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. Truy cập vào một cơ sở dữ liệu tại 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 lời khuyên 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ấp vào 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 cần 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 vừa mở ra, thiết lập 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 sang 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 sang bước cuối cùng của quá trình 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ể theo dõi 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 với bcp:

  1. Mở cửa sổ lệnh (nhấn Win+R, nhập 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

    Vị trí:

    -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 thường 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 làm 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à chọn ` 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 tập lệnh hoặc các trường hợp không thể sử dụng 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 cơ sở dữ liệu hiện có.

  • Khôi phục cơ sở dữ liệu theo phương thức 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 trực tuyến:

      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.

Sao lưu và Khôi phục Microsoft SQL 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. Bản 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 cao hơn trong quá trình khôi phục.

Ưu điểm của việc sao lưu Microsoft SQL Server bằng giải pháp NAKIVO là khả năng áp 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ữ hiệu quả 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 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 danh mục hàng tồn 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ữ các 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ó cài đặt MS SQL Server. Với NAKIVO, bạn có thể sao lưu máy tính có MS 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 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 ở 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 của mình. 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, sau đó 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 các 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 tính năng kết hợp phương pháp lập lịch và lưu giữ. Bạn có thể cấu hình các 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 các 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ỳ. Các bản sao lưu toàn bộ có thể là Active full và {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

Quy 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, các 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 ở 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ột 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 ta 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 (một 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ơ sở dữ liệu cụ thể cần khôi phục.

      Selecting individual database objects to recover

  4. Xác định phạm vi khôi phục 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í ban đầu
    • 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.

Dùng thử NAKIVO Backup & Replication

Dùng 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 này. 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.

Có thể bạn cũng quan tâm