Microsoft では、Microsoft SQL Server 2008、Microsoft SQL Server 2008 R2、または Microsoft SQL Server 2012 の修正を 1 つのダウンロード可能なファイルとして配布しています。 修正は累積的であるため、各新しいリリースには、以前の SQL Server 2008、SQL Server 2008 R2、または SQL Server 2012 修正プログラム リリースに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。
現象
次のような状況を想定します。 Microsoft SQL Server 2008 Reporting Services (SSRS 2008)、Microsoft SQL Server 2008 R2 Reporting Services (SSRS 2008 R2)、または Microsoft SQL Server 2012 Reporting Services を使用している場合(SSRS 2012) を使用して、レポートを Microsoft Excel ブック ファイルにエクスポートします。 次に、Microsoft Excel 2010 を使用して Excel ブック ファイルを開きます。 この場合、ダイアログ ボックスに次のエラー メッセージが表示されます。
注
ファイル エラー: データが失われた可能性があります。
メモ
- Microsoft Office Excel 2003 または Microsoft Office Excel 2007 を使用してブック ファイルを開く場合、この問題は発生しません。
- この問題は、ファイルを Excel 2010 ブック ファイルとして保存した場合には発生しません。
原因
この問題は、レポートをエクスポートするときに、SSRS 2008、SSRS 2008 R2、または SSRS 2012 が Excel ブックに負のゼロ (-0) 値を書き込むために発生します。 Excel ブックを開くと、Excel 2010 は値をチェックし、値が見つかった後にエラー メッセージを生成します。
解決策
累積的な更新プログラムの情報
SQL Server 2008 R2 Service Pack 2
この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 2 の累積的な更新プログラム 1 で最初にリリースされました。 この累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。
2720425 SQL Server 2008 R2 Service Pack 2 の累積的な更新プログラム パッケージ 1 注: ビルドは累積的であるため、新しくリリースされた各修正プログラムには、以前の SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2730301 SQL Server 2008 R2 Service Pack 2 以降にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2012
この問題の修正プログラムは、SQL Server 2012 の累積的な更新プログラム 2 で最初にリリースされました。 この累積的な更新プログラム パッケージの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。
2703275 SQL Server 2012 用の累積的な更新プログラム パッケージ 2 (注: ビルドは累積的であるため、新しくリリースされた各修正プログラムには、以前の SQL Server 2012 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 マイクロソフトでは、この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2692828 SQL Server 2012 以降にリリースされた SQL Server 2012 ビルド インストールされている SQL Server 2012 には、SQL Server 2012 修正プログラムを適用する必要があります。
SQL Server 2008 R2 Service Pack 1
この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム 6 で最初にリリースされました。 この累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。
2679367 SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム パッケージ 6 注: ビルドは累積的であるため、新しい修正プログラムの各リリースには、以前の SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2567616 SQL Server 2008 R2 Service Pack 1 以降にリリースされた SQL Server 2008 R2 のビルド
SQL Server 2008 R2
この問題の修正プログラムは、累積的な更新プログラム 13 で最初にリリースされました。 SQL Server 2008 R2 用のこの累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。
2679366 SQL Server 2008 R2 の累積的な更新プログラム パッケージ 13 (注: ビルドは累積的であるため、新しくリリースされた修正プログラムには、以前のリリースの SQL Server 2008 R2 の修正プログラムに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています)。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981356 SQL Server 2008 R2 のリリース以降にリリースされた SQL Server 2008 R2 のビルド
SQL Server 2008 Service Pack 3
この問題の修正プログラムは、SQL Server 2008 Service Pack 3 の累積的な更新プログラム 4 で最初にリリースされました。 この累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。
2673383 SQL Server 2008 Service Pack 3 の累積的な更新プログラム パッケージ 4 注: ビルドは累積的であるため、新しい修正プログラムの各リリースには、以前のSQL Server修正プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2629969 SQL Server 2008 Service Pack 3 以降にリリースされた SQL Server 2008 ビルド
回避策
この問題を回避するには、負のゼロを使用しないでください。
たとえば、SSRS 2008 のテキスト ボックスの値を計算するときに、次のような式を使用できます。
=IIf(Sum(Fields!Amount.Value) = -0, 0, Sum(Fields!Amount.Value))
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。