Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

SQL Server ghi lại một thao tác sao lưu trong bảng lịch sử backupset khi bạn sử dụng VSS để sao lưu các tập tin trên một ổ đĩa

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 951288
Triệu chứng
Xem xét kịch bản sau đây. Bạn cài đặt chuyên biệt Microsoft SQL Server trên một khối lượng. Bạn sử dụng một ứng dụng bản ghi dịch vụ Sao chép Dự phòng (VSS) để sao lưu các tệp trên ổ đĩa. Trong trường hợp này, SQL Server ghi lại một thao tác sao lưu trong bảng lịch sử backupset. Vấn đề này xảy ra ngay cả khi bạn đã không thực sự trở lại lên tập tin bộ máy cơ sở dữ liệu SQL Server.

Lưu ý NTBackup.exe Tiện ích là một Ứng dụng VSS.
Nguyên nhân
Vấn đề này xảy ra bởi vì VSS gọi các SQLWriter bản ghi dịch vụ hoặc các nhà văn Microsoft SQL máy chủ máy tính để bàn động cơ (MSDE).
Tình trạng
Microsoft đã xác nhận rằng đây là một vấn đề trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Thông tin thêm

Mô tả của nhà văn MSDE và bản ghi dịch vụ SQLWriter

Các nhà văn MSDE nằm trong khuôn khổ VSS trong Windows XP và trong Windows Server 2003. VSS sử dụng nhà văn MSDE để sao lưu bộ máy cơ sở dữ liệu SQL Server 2000. bản ghi dịch vụ SQLWriter cài đặt chuyên biệt khi bạn cài đặt chuyên biệt SQL Server 2005. VSS sử dụng các bản ghi dịch vụ SQLWriter để sao lưu cả bộ máy cơ sở dữ liệu SQL Server 2005 và SQL Server 2000 bộ máy cơ sở dữ liệu.

Làm thế nào VSS thực hiện một thao tác sao lưu

Khi VSS thực hiện một thao tác sao lưu trên một ổ đĩa, VSS cuộc gọi Tất cả các nhà văn có dữ liệu trên ổ đĩa. Điều này làm cho chắc chắn rằng đồng gửi lưu hợp lệ. Khi VSS gọi bản ghi dịch vụ SQLWriter hoặc các nhà văn MSDE, các SQLWriter bản ghi dịch vụ hoặc các nhà văn MSDE chèn một hồ sơ vào backupset bảng lịch sử. Điều này Hồ sơ cho thấy rằng một thao tác sao lưu thực hiện. Tuy nhiên, các bản ghi dịch vụ SQLWriter hoặc các nhà văn MSDE không thể xác định cho dù các tập tin VSS sao lưu bộ máy cơ sở dữ liệu tập tin.

Biện pháp phòng ngừa để có nếu bạn sử dụng các mục trong bảng lịch sử backupset cho phục hồi dữ liệu

Nếu bạn muốn sử dụng các mục trong bảng lịch sử backupset cho dữ liệu phục hồi, bạn phải xác minh rằng các mục đại diện cho sao lưu bộ máy cơ sở dữ liệu thực tế hoạt động.

Làm thế nào để xác minh rằng mục đại diện cho một thao tác sao lưu bộ máy cơ sở dữ liệu thực tế

Để làm điều này, hãy chạy các tuyên bố sau:
USE msdbGOSELECT server_name, database_name, backup_start_date, is_snapshot, database_backup_lsnFROM backupset
Trong đó, nhận thấy cột database_backup_lsn và is_snapshot cột. Một mục nhập đại diện cho một sao lưu bộ máy cơ sở dữ liệu thực tế hoạt động có đặc điểm như sau:
  • Giá trị của các cột database_backup_lsn không phải là 0.
  • Giá trị is_snapshot cột là 0.

Xác minh tập sao lưu đã không có lỗi

Để làm điều này, hãy chạy các tuyên bố sau:

WITH backupInfo AS( SELECT database_name AS [DatabaseName], name AS [BackupName], is_damaged AS [BackupStatus],backup_start_date AS [backupDate],ROW_NUMBER() OVER(PARTITION BY database_name ORDER BY backup_start_date DESC) AS BackupIDForDB FROM msdb..backupset) SELECT DatabaseName FROM backupinfo WHERE BackupIDForDB = 1 and BackupStatus=1 

Nếu các truy vấn này trở lại bất kỳ kết quả, nó có nghĩa là bạn không có sao lưu bộ máy cơ sở dữ liệu tốt sau ngày báo cáo. Chúng tôi đề nghị rằng bạn
thực hiện một sao lưu bộ máy cơ sở dữ liệu đầy đủ càng sớm càng tốt và xác minh rằng đồng gửi lưu bộ máy cơ sở dữ liệu đầy đủ được sạch sẽ.

Bất động sản is_damaged
Bảng backupset, bộ máy cơ sở dữ liệu msdb chứa một hàng cho mỗi tập sao lưu. Các tài sản is_damaged trong bảng backupset chỉ ra cho dù các thiệt hại đến bộ máy cơ sở dữ liệu đã được phát hiện khi sao lưu được tạo ra. Do đó, sao lưu có thể bị hư hỏng và không restorable.

Phần mềm quy tắcTiêu đề quy tắcMô tả quy tắcPhiên bản sản phẩm chống lại các quy tắc được đánh giá
Hệ thống Trung tâm cố vấnSQL Server bộ máy cơ sở dữ liệu Backupset được đánh dấu kiểm là DamagedTrong SQL Server này cố vấn trường hợp phát hiện sự hiện diện của một hoặc nhiều backupset đánh dấu kiểm là "bị hư hỏng" trong MSDB bộ máy cơ sở dữ liệu. Điều này có nghĩa rằng các tập tin sao lưu bị hư hại và về cơ bản là bộ máy cơ sở dữ liệu được tiếp xúc và sao lưu có khả năng không-restorable. Xem lại các phần thông tin thu thập và đảm bảo rằng một đồng gửi lưu tốt sau đó là có sẵn cho bộ máy cơ sở dữ liệu trong câu hỏi. Tham khảo bài KB cho biết thêm chi tiết.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012


VSS SQL nhà văn msdb ntbackup
Tham khảo
Để biết thêm chi tiết về các bản ghi dịch vụ nhà văn SQL, truy cập vào các web site Microsoft Developer Network (MSDN) sau đây: Cho biết thêm thông tin về bảng lịch sử backupset, truy cập vào MSDN sau đây Trang web:

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 951288 - Xem lại Lần cuối: 03/28/2013 19:17:00 - Bản sửa đổi: 1.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition

  • kbexpertiseadvanced kbtshoot kbprb kbmt KB951288 KbMtvi
Phản hồi