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.
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.sqlcmdlà 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:
- Mở MS SQL Server Management Studio (SSMS) và đăng nhập vào SSMS bằng tài khoản quản trị.
- Trong
Object Explorer, nằm ở phía bên phải của cửa sổ SSMS, hãy chuyển đếnDatabasesvà 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ụngAdventureWorks2022làm cơ sở dữ liệu. - Trong menu ngữ cảnh, nhấp vào
Tasks > Backup.
- Đặ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
FullhoặcDifferential(bạn cần tạo bản sao lưu đầy đủ trước). - Thành phần sao lưu:
Database
- Cơ sở dữ liệu:
- Địa chỉ đích:
- Sao lưu vào:
Diskhoặc URL (chọn đĩa)
- Sao lưu vào:
- Hủy chọn hộp kiểm sao lưu
Copy-onlynế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 trangDatabase Settingsvà xem/chỉnh sửaDatabase default locations. - Nguồn:
- 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ọnDeleteđể 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.

- Đừ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.
- Nhấn
OKtrong 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.
- Trong
Object Explorer, đi đếnManagement, nhấp chuột phải vàoMaintenance Plans, và nhấp vàoNew Maintenance Plan. - Nhập tên cho kế hoạch bảo trì mới, ví dụ:
MS SQL Backup Plan. NhấnOK.
- 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.
- 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.
- Nhấp vào
ToolBoxở góc trên cùng bên trái của giao diện SSMS.
- Kéo
Back Up Database TasktừToolboxvào khu vực trống của tabMS SQL Backup Plan [Design]. - Nhấp đúp vào
Back Up Database Taskmà bạn vừa kéo và thả vào tabMS SQL Backup Plan [Design].
- Cửa sổ tùy chọn
Back Up Database Tasksẽ mở ra. Chọn loại kết nối, chẳng hạn nhưLocal server connection. - 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:
FullhoặcDifferential - Cơ sở dữ liệu:
Specific databases, all databases, system databases, hoặcAll user databases. - Sao lưu đến:
Disk

Các tùy chọn trong các tab
DestinationvàOptionsđượ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.
- Loại sao lưu:
- 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.
- Nhấn
Ctrl+Sđể lưu thay đổi trong SSMS. - Nhấn
F5để làm mới các mục hiển thị trong SSMS. - Truy cập
SQL Server Agent > Jobstrong Object Explorer. Bạn có thể mởJob Activity Monitorvà xemMS SQL Backup Plan.Sublantrong danh sách tác vụ.
- Làm mới trang bằng cách nhấp chuột phải vào
Jobshoặc một đối tượng khác và nhấp vàoRefresh. Trong Object Explorer, truy cậpSQL Server Agent > Jobs, chọnMS SQL Backup Plan.Subplan, nhấp chuột phải vào đối tượng này và nhấp vàoStart Job at Stepđể bắt đầu tác vụ sao lưu theo lịch trình ngay lập tức.
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ế
YourDatabaseNamebằ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ế
LogicalFileNamebằ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 CompressionBACKUP DATABASE YourDatabaseNameTO DISK = 'C:BackupYourDatabaseName_Full.bak'WITH COMPRESSION, INIT;Trong đó:
YourDatabaseNamephải được thay thế bằng tên cơ sở dữ liệu của bạn.C:BackupYourDatabaseName_Full.baklà đườ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 COMPRESSIONlà tùy chọn kích hoạt nén để giảm kích thước sao lưu.INITlà 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 optionsBACKUP DATABASE YourDatabaseNameTO DISK = 'C:BackupYourDatabaseName_Full.bak'WITHFORMAT,– Ghi đè lên bộ phương tiện hiện cóNAME = 'FullBackup',– Chỉ định tên bộ sao lưuSTATS = 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ưuCOMPRESSION,– Bật tính năng nénINIT;– Khởi tạo một bộ phương tiện mới - Sao lưu nhật ký giao dịch:
-- Transaction Log BackupBACKUP LOG YourDatabaseNameTO DISK = 'C:BackupYourDatabaseName_LogBackup.trn'WITHFORMAT,– Ghi đè lên bộ phương tiện hiện cóNAME = 'LogBackup',– Chỉ định tên bộ sao lưuSTATS = 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 FilesBACKUP DATABASE YourDatabaseNameTODISK = '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:
- Khởi chạy MS SQL Server Management Studio và kết nối với phiên bản MS SQL Server.
- Di chuyển đến một cơ sở dữ liệu trong
Object Explorervà nhấp chuột phải vào tên cơ sở dữ liệu. Nhấp vàoTasks > Generate Scriptstrong menu ngữ cảnh.
- Đọc các mẹo trong bước
Introductioncủa trình hướng dẫnGenerate Scripts. Bạn có thể chọn hộp kiểmDo not show this page again. NhấnNexttại mỗi bước của trình hướng dẫn để tiếp tục. - Tại bước
Choose Objects, nhấp vàoSelect 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ảngPerson.Addresscủa cơ sở dữ liệu để sao lưu.
- Chỉ định cách lưu các tập lệnh tại bước
Set Scripting Options. ChọnSave as script filevà chọnSingle 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.
- Nhấp vào
Advancedvà, trong cửa sổAdvanced Scripting Optionsđã mở, đặtTypes of data to script = Schema and data. Nhấp vàoOKđể 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.
- 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.

- 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.
- 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.
- Nhấp đúp vào tệp
MS_SQL_Table_Backup.sqlvà 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.
- 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:
- Mở cửa sổ lệnh (nhấn
Win+R, gõcmdvà nhấnEnter) trong Windows với quyền quản trị. - Truy cập vào tệp thực thi tiện ích
bcptrong 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 - 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). - 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:
- Đăng nhập vào máy chủ MS SQL Server trong SSMS bằng tài khoản quản trị.
- Nhấp chuột phải vào
DatabasestrongObject Explorervà nhấp vàoRestore Databasetrong menu ngữ cảnh.
- Trong cửa sổ
Restore Database, chọnDeviceđể khôi phục cơ sở dữ liệu MS SQL từ tệp.bakvà nhấp vào nút…để chọn tệp.bak.
- Chọn
Filelàm loại phương tiện sao lưu và nhấp vàoAdd.
- 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.
- 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.
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ế
YourDatabaseNamebằ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ọnWITH REPLACElà 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 bản sao lưu nhật ký giao dịch, hãy sử dụng lệnh T-SQL sau:
- 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ế
LogicalFileNamebằ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_ONLYlà 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:
- Mở giao diện web của NAKIVO Backup & Replication trong trình duyệt web.
- Đả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.

- 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ọnPhysical machine backup job.
- 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
Nexttại mỗi bước của trình hướng dẫn để tiếp tục.
- 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.

- 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.

- 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 fullvà {177}. Nhấp vàoFinishhoặcFinish & Runđể chạy tác vụ ngay lập tức.
- 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:
- Trong giao diện web của giải pháp NAKIVO, truy cập
Jobs > Recover > Microsoft SQL Server objects.
- 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ọnAutomatically locate application databasesđã được đánh dấu. NhấnNexttại mỗi bước của trình hướng dẫn khôi phục để tiếp tục.
- 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.

- Tại bước
Objectscủ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).
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.
- Nhập thông tin đăng nhập của máy chủ khôi phục và nhấp vào
- 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

Nhấp vào
Recovervà đợ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.