Microsoft phân phối các bản sửa lỗi Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2 hoặc Microsoft SQL Server 2012 như một tệp có thể tải xuống. Vì các bản sửa lỗi được tích lũy, mỗi bản phát hành mới đều chứa toàn bộ bản sửa lỗi nóng và tất cả bản sửa lỗi bảo mật có trong bản phát hành bản sửa lỗi SQL Server 2008, SQL Server 2008 R2hay SQL Server 2012 trước đó.
Triệu chứng
Cân nhắc kịch bản sau. Bạn sử dụng Dịch vụ Báo cáo Microsoft SQL Server 2008 (SSRS 2008), Dịch vụ Báo cáo Microsoft SQL Server 2008 R2 (SSRS 2008 R2) hoặc Dịch vụ Báo cáo Microsoft SQL Server 2012 (SSRS 2012) để xuất báo cáo đến tệp sổ làm việc Microsoft Excel. Sau đó, bạn sử dụng Microsoft Excel 2010 để mở tệp sổ làm việc Excel. Trong trường hợp này, bạn nhận được thông báo lỗi sau đây trong hộp thoại:
Lưu ý
Lỗi tệp: dữ liệu có thể bị mất.
Ghi chú
- Sự cố này không xảy ra nếu bạn sử dụng Microsoft Office Excel 2003 hoặc Microsoft Office Excel 2007 để mở tệp sổ làm việc.
- Sự cố này sẽ không xảy ra nếu bạn lưu tệp dưới dạng tệp sổ làm việc Excel 2010.
Nguyên nhân
Sự cố này xảy ra vì SSRS 2008, SSRS 2008 R2 hoặc SSRS 2012 ghi giá trị không âm (-0) vào sổ làm việc Excel khi bạn xuất báo cáo. Khi bạn mở sổ làm việc Excel, Excel 2010 sẽ kiểm tra giá trị và tạo thông báo lỗi sau khi tìm thấy giá trị.
Giải pháp
Thông tin cập nhật tích lũy
SQL Server 2008 R2 Gói Dịch vụ 2
Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật tích lũy 1 cho SQL Server 2008 R2 Gói Dịch vụ 2. Để biết thêm thông tin về cách lấy gói cập nhật tích lũy này, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
2720425 Gói Cập nhật Tích lũy 1 cho SQL Server 2008 R2 Gói Dịch vụ 2Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các bản hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành bản sửa lỗi SQL Server 2008 R2 trước đó. Chúng tôi khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2730301 Các bản dựng SQL Server 2008 R2 được phát hành sau khi SQL Server 2008 R2 Gói Dịch vụ 2 được phát hành
SQL Server 2012
Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật Tích lũy 2 cho SQL Server 2012. Để biết thêm thông tin về gói cập nhật tích lũy này, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
2703275 Gói cập nhật tích lũy 2 cho SQL Server 2012Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các bản hotfix và tất cả bản sửa lỗi bảo mật được tích hợp trong bản phát hành sửa lỗi SQL Server 2012 trước đó. Microsoft khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi mới nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2692828 Các bản dựng SQL Server 2012 được phát hành sau khi SQL Server 2012 được phát hành Bạn phải áp dụng hotfix SQL Server 2012 cho bản cài đặt SQL Server 2012.
SQL Server 2008 R2 Gói Dịch vụ 1
Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật Tích lũy 6 dành cho SQL Server 2008 R2 Gói Dịch vụ 1. Để biết thêm thông tin về cách lấy gói cập nhật tích lũy này, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
2679367 Gói Cập nhật Tích lũy 6 cho SQL Server 2008 R2 Gói Dịch vụ 1Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành sửa lỗi SQL Server 2008 R2 trước đó. Chúng tôi khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2567616 Các bản dựng SQL Server 2008 R2 được phát hành sau khi SQL Server 2008 R2 Gói Dịch vụ 1 được phát hành
SQL Server 2008 R2
Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật tích lũy 13. Để biết thêm thông tin về cách lấy gói cập nhật tích lũy này cho SQL Server 2008 R2, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
2679366 Gói Cập nhật Tích lũy 13 cho SQL Server 2008 R2 Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các bản hotfix và tất cả bản sửa lỗi bảo mật được tích hợp trong bản phát hành bản sửa lỗi SQL Server 2008 R2 trước đó. Chúng tôi khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
981356 Các bản dựng SQL Server 2008 R2 được phát hành sau khi SQL Server 2008 R2 được phát hành
SQL Server 2008 Gói Dịch vụ 3
Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật tích lũy 4 dành cho SQL Server 2008 Gói Dịch vụ 3. Để biết thêm thông tin về cách lấy gói cập nhật tích lũy này, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
2673383 Gói cập nhật tích lũy 4 cho SQL Server 2008 Gói Dịch vụ 3Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các bản hotfix và tất cả bản sửa lỗi bảo mật được tích hợp trong bản phát hành bản sửa lỗi SQL Server trước đó. Chúng tôi khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2629969 Các bản dựng SQL Server 2008 được phát hành sau khi SQL Server 2008 Gói Dịch vụ 3 được phát hành
Giải pháp thay thế
Để giải quyết vấn đề này, không sử dụng số 0 âm.
Ví dụ: bạn có thể sử dụng biểu thức tương tự như sau đây khi bạn tính toán giá trị của hộp văn bản trong SSRS 2008:
=IIf(Sum(Fields!Amount.Value) = -0, 0, Sum(Fields!Amount.Value))
Trạng thái
Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".