KB2780146 — POPRAWKA: błąd "Niepoprawna składnia w pobliżu IDENTITY_VALUE" podczas próby odszyfrowania danych migrowanych z innej bazy danych w SQL Server 2008 R2, SQL Server 2012 lub SQL Server 2008

Dotyczy
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

Objawy

Rozważmy następujący scenariusz:

  • Klucz symetryczny tworzy się za pomocą dostawcy zarządzania kluczami rozszerzalnymi (EKM) w programie Microsoft SQL Server 2008, Microsoft SQL Server 2012 lub Microsoft SQL Server 2008 R2.
  • Za pomocą tego klucza symetrycznego można zaszyfrować niektóre dane w bazie danych.
  • Dane są migrowane do innej bazy danych.
  • Próbujesz utworzyć klucz symetryczny w nowej bazie danych od tego samego dostawcy EKM. Jednak zaszyfrowanych danych w nowej bazie danych nie można odszyfrować, ponieważ nowo utworzony klucz symetryczny ma numer GUID, który różni się od oryginalnego klucza symetrii szyfrującego dane w oryginalnej bazie danych.
  • Aby ponownie utworzyć klucz symetryczny przy użyciu tego samego identyfikatora GUID co oryginalny klucz symetryczny, użyj opcji IDENTITY_VALUE określającej frazę tożsamości, która została użyta z oryginalnym kluczem symetrycznym.

W tym scenariuszu zostanie wyświetlony komunikat o błędzie podobny do następującego:

Uwaga

Wiadomość 102, Poziom 15, Stan 1, Wiersz 3 Nieprawidłowa składnia w pobliżu "IDENTITY_VALUE"

Rozwiązanie

Informacje o aktualizacji zbiorczej

Aktualizacja zbiorcza 6 dla programu SQL Server 2012

                
Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 6. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2012, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2728897 Pakiet aktualizacji zbiorczej 6 dla SQL Server 2012Uwaga Ponieważ kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzedniej wersji poprawki SQL Server 2012. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2692828 Kompilacje SQL Server 2012 wydane po SQL Server 2012

Aktualizacja zbiorcza 11 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1

Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 11. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla dodatku Service Pack 1 dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2812683 Pakiet aktualizacji zbiorczej 11 dla SQL Server 2008 R2 z dodatkiem Service Pack 1Uwaga Ponieważ te kompilacje mają charakter zbiorczy, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji dodatku Service Pack 1 dla SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2567616 Kompilacje SQL Server 2008 R2 wydane po wydaniu dodatku Service Pack 1 SQL Server 2008 R2

Aktualizacja zbiorcza 9 dla programu SQL Server 2008 z dodatkiem Service Pack 3 (SP3)

Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 9. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dodatku Service Pack 3 dla programu SQL Server 2008, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2799883 Pakiet aktualizacji zbiorczej 9 dla dodatku Service Pack 3 SQL Server 2008Uwaga Ponieważ te kompilacje mają charakter zbiorczy, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji dodatku Service Pack 3 SQL Server 2008. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2629969 Kompilacje SQL Server 2008 wydane po wydaniu dodatku Service Pack 3 SQL Server 2008

Aktualizacja zbiorcza 4 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 2 (SP2)

Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 4. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2 z dodatkiem Service Pack 2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2777358 Pakiet aktualizacji zbiorczej 4 dla dodatku Service Pack 2 SQL Server 2008 R2Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń zawarte w poprzedniej wersji dodatku Service Pack 2 SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2730301 Kompilacje SQL Server 2008 R2 wydane po wydaniu dodatku Service Pack 2 SQL Server 2008 R2

Obejście

Aby obejść ten problem, odszyfruj dane przed migracją do drugiej bazy danych. Po przeprowadzeniu migracji danych do innej bazy danych należy zaszyfrować dane przy użyciu nowego klucza.

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.