KB2780146 - 修正:當您嘗試解密從 SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2008 中另一個資料庫移轉的資料時,出現「'IDENTITY_VALUE' 附近語法不正確」錯誤

Applies To
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 選項來指定與原始對稱金鑰搭配使用的識別片語。

在此情況下會收到類似下列的錯誤訊息:

注意

Msg 102, Level 15, State 1, Line 3 'IDENTITY_VALUE' 附近語法不正確

解決方式

累積更新資訊

SQL Server 2012 累積更新 CU 38

                
此問題的修正程式最初在累積更新 6 中發行。 如需有關如何取得此 SQL Server 2012 累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2728897 SQL Server 2012 累積更新套件 6 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些都包含在先前的 SQL Server 2012 修正程式版本中。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2692828 SQL Server 2012 發行之後所發行的 SQL Server 2012 組建

SQL Server 2008 R2 Service Pack 1 的累積更新 11

此問題的修正程式最初在累積更新 11 中發行。 如需有關如何取得此 SQL Server 2008 R2 Service Pack 1 累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2812683 SQL Server 2008 R2 Service Pack 1 的累積更新套件 11 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含先前的 SQL Server 2008 R2 Service Pack 1 修正程式版本中包含的所有 Hotfix 和所有安全性修正程式。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

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 累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2799883 累積更新套件 9 適用於 SQL Server 2008 Service Pack 3 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和先前的 SQL Server 2008 Service Pack 3 修正程式版本中包含的所有安全性修正程式。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

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 累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2777358 SQL Server 2008 R2 Service Pack 2 的累積更新套件 4 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含先前的 SQL Server 2008 R2 Service Pack 2 修正程式版本中包含的所有 Hotfix 和所有安全性修正程式。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2730301 發行 SQL Server 2008 R2 Service Pack 2 之後所發行的 SQL Server 2008 R2 組建

因應措施

若要解決此問題,請先將資料解密,然後再將資料移轉至第二個資料庫。 將資料移轉至另一個資料庫之後,請使用新金鑰來加密資料。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。