Làm cách nào tôi có thể sao lưu cơ sở dữ liệu SQL Server bằng Windows Server Backup?


11

Rõ ràng Windows Server Backup có một số hỗ trợ để sao lưu cơ sở dữ liệu SQL Server:

Có khả năng phục hồi các ứng dụng. Windows Server Backup sử dụng chức năng VSS được tích hợp vào các ứng dụng như Microsoft® SQL Server® để bảo vệ dữ liệu ứng dụng. [Nguồn: TechNet ]

Ngoài ra, mọi người báo cáo rằng Windows Server Backup dường như kích hoạt một số loại hoạt động sao lưu trong SQL Server .

Tuy nhiên, tôi không tìm thấy tài liệu (chính thức) về cách chính xác để sao lưu cơ sở dữ liệu SQL Server bằng Windows Server Backup.

  • Tôi chỉ cần sao lưu .mdf? Cái .mdf.ldf?
  • Trực tuyến hay chỉ ngoại tuyến?
  • Quy trình chính thức để khôi phục cơ sở dữ liệu SQL Server được sao lưu theo cách này là gì?
  • Có điều gì đặc biệt để xem xét khi thực hiện sao lưu gia tăng / khác biệt không?
  • Tất cả những tài liệu này ở đâu?

(Tôi biết cách thực hiện sao lưu với Kế hoạch bảo trì máy chủ SQL sqlmaint.exe, T-SQL BACKUP và SQL Server Agent. Tôi chỉ quan tâm đến giải pháp thay thế mà Windows Server Backup (rõ ràng?)


Phiên bản nào của Windows Server và phiên bản nào của máy chủ SQL?
pauseka

@pauska: Cá nhân, tôi quan tâm đến Windows Server 2012 R2 và SQL Server 2012. (Tôi cố tình giữ câu hỏi chung chung hơn để làm cho nó hữu ích hơn cho người khác.)
Heinzi

1
Tôi có một Windows Server 2008 đang thực hiện sao lưu toàn bộ. Theo như tôi có thể nói nó đang lấy cơ sở dữ liệu từ SQL Server Express như một phần của bản sao lưu đầy đủ của nó, vì mỗi cơ sở dữ liệu nói rằng nó được sao lưu lần cuối tại thời điểm mà bản sao lưu đó chạy. Điều này đã làm tôi bối rối, vì tôi đang cố gắng tìm ra cách tôi quản lý để sao lưu các cơ sở dữ liệu này, vì tôi không thể tìm thấy một tập lệnh nào thực hiện nó ở bất cứ đâu. Tôi nghĩ rằng tôi sẽ viết một kịch bản để thực hiện nó bằng mọi giá, để tôi biết nó hoạt động và biết chính xác những gì tôi có.
Dave Cousineau

Câu trả lời:


5

Windows Server Backup không nhằm mục đích làm công cụ sao lưu cho SQL Server.

... Tuy nhiên, thiết kế làm cho nó đặc biệt phù hợp với các tổ chức hoặc cá nhân nhỏ hơn không phải là chuyên gia CNTT ...

Trích dẫn từ Windows Server Backup Hướng dẫn từng bước cho Windows Server 2008 : "Ai nên sử dụng Windows Server Backup?"

Phần bạn trích dẫn về cơ bản là nói rằng, khi Windows Server Backup khởi động, nó sẽ kích hoạt tính năng VSS trong Windows. SQL Server sẽ biết rằng xảy ra Sao chép khối lượng bóng và với sự trợ giúp của dịch vụ SQL Server Writer, sẽ đảm bảo rằng một bản sao của các tệp cơ sở dữ liệu (* .mdf, * .ndf, * .ldf) có thể được thực hiện.

Mục đích của dịch vụ SQL Server Writer được định nghĩa như sau:

Khi chạy, Cơ sở dữ liệu khóa và có quyền truy cập độc quyền vào các tệp dữ liệu. Khi Dịch vụ SQL Writer không chạy, các chương trình sao lưu đang chạy trong Windows không có quyền truy cập vào các tệp dữ liệu và các bản sao lưu phải được thực hiện bằng sao lưu SQL Server.

Sử dụng Dịch vụ SQL Writer để cho phép các chương trình sao lưu Windows sao chép tệp dữ liệu SQL Server trong khi SQL Server đang chạy.

Trích dẫn từ phần Dịch vụ của SQL Writer : "Mục đích"

Vì vậy, về cơ bản đó là tất cả những gì xảy ra với Windows Server Backup.

Các bản sao lưu được tạo bằng Windows Server Backup trong khi SQL Server đang chạy phải nhất quán, nhưng các giao dịch chưa được ghi vào đĩa không nằm trong Volume Shadow Copy. Ảnh chụp cơ sở dữ liệu được chụp trong khi đang TRỰC TUYẾN.

Tuy nhiên, bài viết Sao lưu MSDN sao lưu :

Chỉ các loại sao lưu sau đây có thể là sao lưu ảnh chụp nhanh:

  • Sao lưu đầy đủ
  • Sao lưu một phần
  • Sao lưu tập tin
  • Sao lưu cơ sở dữ liệu khác biệt. Chúng chỉ được hỗ trợ khi nhà cung cấp sử dụng giao diện VSS.

và bổ sung:

Ngoại trừ như đã lưu ý trước đó trong chủ đề này, sao lưu ảnh chụp nhanh có chức năng tương đương với các bản sao lưu thông thường tương ứng. Bạn có thể sử dụng sao lưu ảnh chụp nhanh trong các chuỗi khôi phục với các bản sao lưu đầy đủ không chụp nhanh, sao lưu vi sai và sao lưu nhật ký. Giống như các bản sao lưu khác, sao lưu ảnh chụp nhanh được theo dõi trong cơ sở dữ liệu msdb, trong đó các bản sao lưu ảnh chụp nhanh được xác định bởi backupset.is_snapshot = 1. Để biết thêm thông tin về msdb, hãy xem Cơ sở dữ liệu msdb.

SQL Server không hỗ trợ khôi phục trực tuyến từ bản sao lưu ảnh chụp nhanh. Khôi phục bản sao lưu ảnh chụp tự động lấy cơ sở dữ liệu ngoại tuyến. Khôi phục từng phần có thể kết hợp sao lưu ảnh chụp nhanh, nhưng tất cả các trình tự khôi phục đều khôi phục ngoại tuyến. Để biết thêm thông tin về phục hồi từng phần, hãy xem Thực hiện Phục hồi từng phần.

Để trả lời câu hỏi của bạn:

  • Tôi chỉ cần sao lưu .mdf? .Mdf và .ldf?
  • Trực tuyến hay chỉ ngoại tuyến?
  • Quy trình chính thức để khôi phục cơ sở dữ liệu SQL Server được sao lưu theo cách này là gì?
  • Có điều gì đặc biệt để xem xét khi thực hiện sao lưu gia tăng / khác biệt không?
  • Tất cả những tài liệu này ở đâu?

Đáp án:

  1. Có, bạn có thể thực hiện sao chép Windows Server Backup (VSS) của các tệp .mdf và .ldf. Việc sao lưu phải nhất quán, nhưng cơ sở dữ liệu sẽ là OFFLINE sau khi khôi phục.
  2. Nếu SQL Server bị dừng / cơ sở dữ liệu bị tách ra / cơ sở dữ liệu là OFFLINE thì bản sao VSS của các tệp .mdf và .ldf phù hợp 100%.
  3. Tôi không chắc chắn về cách khôi phục cơ sở dữ liệu (theo thời gian) được thực hiện với Windows Server Backup, vì cơ sở dữ liệu được khôi phục ở trạng thái OFFLINE. Không thể khôi phục / khôi phục cơ sở dữ liệu ở trạng thái OFFLINE và đưa cơ sở dữ liệu kết quả TRỰC TUYẾN trong cơ sở dữ liệu được xem là khôi phục hoàn toàn. Tôi sẽ khuyên bạn nên sao lưu SQL Server FULL, DIFF và TLOG sao lưu riêng biệt để đảm bảo bạn có thể thực hiện khôi phục cơ sở dữ liệu theo thời gian.
  4. Nhật ký giao dịch không phải là một phần của ảnh chụp nhanh được tạo bằng Sao lưu máy chủ Window và nên được thực hiện bổ sung. Ảnh chụp nhanh khác biệt được các nhà cung cấp bên thứ 3 hỗ trợ như một phần của chuỗi sao lưu, nhưng Windows Server Backup dường như không thể thực hiện sao lưu vi sai. Trong trường hợp này, bạn cũng sẽ phải thực hiện sao lưu vi sai bổ sung. (xem 3.)
  5. Tài liệu tham khảo khác nhau

Giải thích trong thực hiện cuộc sống thực

Trong môi trường của chúng tôi, chúng tôi có một tình huống tương tự khi VMware đang tiến hành một ảnh chụp nhanh và các DBA đang tiến hành các bãi chứa SQL Server với Commvault. Lịch sử sao lưu trông như thế này:

DBNAME  TYPE BACKUPSET_NAME            IS_SNAPSHOT BACKUP_START_DATE        
------- ---- ------------------------- ----------- -----------------------  
DB_NAME  Full  NULL                    1           2016-12-10 18:23:59.000  
DB_NAME  Full  CommVault Galaxy Backup 0           2016-12-10 20:07:41.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-11 06:00:40.000  
DB_NAME  Full  NULL                    1           2016-12-11 18:24:00.000  
DB_NAME  Diff  CommVault Galaxy Backup 0           2016-12-11 20:03:38.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 06:02:29.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 07:02:17.000  

Ảnh chụp nhanh VMware sẽ tạo một mục trong bảng lịch sử cơ sở dữ liệu MSDB với IS_SNAPSHOT = 1FULLcho mỗi ảnh chụp nhanh VMware được thực hiện (hàng ngày). Các bản sao lưu SQL Server gốc (cũng sử dụng Commvault gốc) được thực hiện bằng các bản sao lưu FULL, DIFF và TLOG. Các bản sao lưu này không được đánh dấu là IS_SNAPSHOT và tồn tại dưới dạng FULL (một lần một tuần), các mục DIFF (mỗi ngày khác) và LOG (hàng giờ) trong các bảng sao lưu trong cơ sở dữ liệu msdb.

Với thiết lập này, chúng tôi có thể thực hiện khôi phục lại thời gian chụp nhanh và sau đó đưa cơ sở dữ liệu TRỰC TUYẾN hoặc chúng tôi có thể thực hiện khôi phục riêng lẻ cho bất kỳ thời điểm nào bằng cách sử dụng các bản sao lưu SQL Server "gốc".


1

Bạn không thể. Hoặc ít nhất bạn có thể không nên. Theo như cơ sở dữ liệu SQL Server thì sao lưu dự phòng là phương pháp được hỗ trợ.

Tôi nghĩ bạn có thể đang hiểu sai những gì bài báo TechNet đang nói. Nhận xét bạn trích dẫn không cho biết rằng bạn có thể sử dụng bản sao lưu Windows Server cho cơ sở dữ liệu SQL Server. Nó thực sự chỉ làm nổi bật rằng bản sao lưu Windows Server sử dụng cùng Dịch vụ sao chép âm lượng được sử dụng bởi SQL Server. Thông tin thêm: TechNet: Dịch vụ SQL Writer


Tôi biết rằng tôi không nên - Tôi sẽ không giao phó dữ liệu của mình cho một tính năng tài liệu kém như vậy. Tuy nhiên, tôi tò mò nếu nó là có thể, về mặt lý thuyết: SQL Server không cung cấp một VSS writer, và Windows Server Backup một người yêu cầu VSS, vì vậy tôi sẽ rời khỏi mở câu hỏi cho bây giờ. Có lẽ đó chỉ là một câu hỏi về việc kết hợp hai thứ đó (ví dụ, có hướng dẫn trực tuyến về cách thực hiện điều này cho người viết Hyper-V VSS ).
Heinzi

1
Rõ ràng, Windows Server Backup không kích hoạt một số loại sao lưu máy chủ SQL, hãy xem quesiton này .
Heinzi

1

Sao lưu Sql không chỉ sao chép dữ liệu, nó cắt bớt nhật ký. Bạn có thể tìm thấy hàng trăm tùy chọn trong trang man sẽ giúp bạn, chẳng hạn như nén tệp sao lưu khi đang di chuyển.

Tôi nhớ rằng sao lưu vss đã được sử dụng để sao chép Máy ảo bị đóng băng hoặc để chụp lun trên SAN để sao lưu ảnh tĩnh, nhưng bản sao lưu sẽ bị "sập" giống như gián đoạn nguồn và không thực sự nhất quán.

Liên quan


0

Tôi nghĩ rằng nó sử dụng một loại sao lưu đặc biệt gọi là "Sao lưu ảnh chụp".

Từ tài liệu SQL Server 2008:

Sao lưu ảnh chụp nhanh SQL Server cũng được Microsoft Windows Server 2003 Volume Shadow Copy Service (VSS) sử dụng và bởi tất cả các phần mềm sao lưu và phần mềm lưu trữ sử dụng khung này. Để biết thêm thông tin, hãy xem Dịch vụ SQL Writer.

Đó là tất cả rất không rõ ràng với tôi. Đặc biệt là nếu điều này cắt ngắn nhật ký giao dịch hay không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.