KB2780146 - 修正: SQL Server 2008 R2、SQL Server 2012、または SQL Server 2008 で別のデータベースから移行されたデータを復号化しようとすると、「'IDENTITY_VALUE' に近い構文が正しくありません」というエラーが発生する

適用先
SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2012 Developer SQL Server 2012 Enterprise Core SQL Server 2012 Enterprise

現象

たとえば次のようなシナリオを考えてみます。

  • 対称キーは、Microsoft SQL Server 2008、Microsoft SQL Server 2012、または Microsoft SQL Server 2008 R2 の拡張キー管理 (EKM) プロバイダから作成します。
  • この対称キーを使用して、データベース内の一部のデータを暗号化します。
  • データを別のデータベースに移行する。
  • 同じ EKM プロバイダーから新しいデータベースに対称キーを作成しようとするとします。 ただし、新しく作成された対称キーには GUID 番号が設定されており、この GUID 番号が元のデータベースのデータを暗号化した元の対称キーとは異なるため、新しいデータベースの暗号化データを解読することはできません。
  • 元の対称キーと同じ GUID を使用して対称キーを再作成するには、IDENTITY_VALUE オプションを使用して、元の対称キーで使用された ID 語句を指定します。

この場合に、次のようなエラー メッセージが表示されます。

注

メッセージ 102、レベル 15、状態 1、行 3 'IDENTITY_VALUE' 付近の構文が正しくない

解決策

累積的な更新プログラムの情報

SQL Server 2012 の累積的な更新プログラム CU 38

                
この問題の修正プログラムは、累積的な更新プログラム 6 で最初にリリースされました。 SQL Server 2012 用のこの累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2728897 SQL Server 2012 用の累積的な更新プログラム パッケージ 6 (注: ビルドは累積的であるため、新しくリリースされる各修正プログラムには、以前の SQL Server 2012 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています)。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2692828 SQL Server 2012 以降にリリースされた SQL Server 2012 ビルド

SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム 11

この問題の修正プログラムは、累積的な更新プログラム 11 で最初にリリースされました。 SQL Server 2008 R2 Service Pack 1 用のこの累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2812683 SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム パッケージ 11 注: ビルドは累積的であるため、新しくリリースされた修正プログラムには、以前のリリースの SQL Server 2008 R2 Service Pack 1 の修正プログラムに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2567616 SQL Server 2008 R2 Service Pack 1 以降にリリースされた SQL Server 2008 R2 のビルド

SQL Server 2008 Service Pack 3 (SP3) の累積的な更新プログラム 9

この問題の修正プログラムは、累積的な更新プログラム 9 で最初にリリースされました。 SQL Server 2008 Service Pack 3 用のこの累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2799883 SQL Server 2008 Service Pack 3 の累積的な更新プログラム パッケージ 9 注: ビルドは累積的であるため、新しくリリースされた各修正プログラムには、以前の SQL Server 2008 Service Pack 3 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2629969 SQL Server 2008 Service Pack 3 以降にリリースされた SQL Server 2008 ビルド

SQL Server 2008 R2 Service Pack 2 (SP2) の累積的な更新プログラム 4

この問題の修正プログラムは、累積的な更新プログラム 4 で最初にリリースされました。 SQL Server 2008 R2 Service Pack 2 用のこの累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2777358 SQL Server 2008 R2 Service Pack 2 の累積的な更新プログラム パッケージ 4 注: ビルドは累積的であるため、新しくリリースされた修正プログラムには、以前の SQL Server 2008 R2 Service Pack 2 更新プログラムに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2730301 SQL Server 2008 R2 Service Pack 2 以降にリリースされた SQL Server 2008 R2 ビルド

回避策

この問題を回避するには、2 番目のデータベースに移行する前にデータを復号化します。 データを他のデータベースに移行した後、新しいキーを使用してデータを暗号化します。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。