KB2780146 – PATAISYMAS: klaida "Neteisinga sintaksė šalia "IDENTITY_VALUE", kai bandote iššifruoti duomenis, perkeltus iš kitos duomenų bazės "„SQL Server“ 2008 R2", "„SQL Server“ 2012" arba "„SQL Server“ 2008"

Taikoma
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

Požymiai

Apsvarstykite šį scenarijų:

  • Simetrinį raktą sukuriate iš išplėstinio raktų valdymo (EKM) teikėjo "Microsoft „SQL Server“ 2008", "Microsoft „SQL Server“ 2012" arba "Microsoft „SQL Server“ R2".
  • Kai kurie duomenų bazės duomenys šifruojami naudojant šį simetrinį raktą.
  • Duomenis perkeliate į kitą duomenų bazę.
  • Bandote sukurti simetrinį raktą naujoje to paties EKM teikėjo duomenų bazėje. Tačiau naujoje duomenų bazėje šifruotų duomenų negalima iššifruoti, nes naujai sukurtas simetrinis raktas turi GUID numerį ir šis GUID numeris skiriasi nuo pradinio simetrinio rakto, kuris užšifravo duomenis pradinėje duomenų bazėje.
  • Norėdami iš naujo sukurti simetrinį raktą naudodami tą patį GUID kaip ir pradinis simetrinis raktas, naudokite parinktį IDENTITY_VALUE, kad nurodytumėte tapatybės frazę, kuri buvo naudojama su pradiniu simetriniu raktu.

Pagal šį scenarijų gaunate klaidos pranešimą, panašų į šį:

Pastaba

Pranešimas 102, 15 lygis, 1 būsena, 3 eilutė Neteisinga sintaksė šalia "IDENTITY_VALUE"

Sprendimas

Kaupiamojo naujinimo informacija

6 kaupiamasis naujinimas, skirtas „SQL Server“ 2012

                
Šios problemos pataisa pirmą kartą buvo išleista 6 kaupiamajame naujinime. Norėdami gauti daugiau informacijos apie tai, kaip gauti šį "„SQL Server“ 2012" kaupiamųjų naujinimų paketą, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:

2728897 6 kaupiamasis naujinimų paketas, skirtas „SQL Server“ 2012Pastaba Komponavimo versijos yra kaupiamosios, todėl kiekviename naujame pataisos leidime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį „SQL Server“ 2012" pataisų leidimą. Rekomenduojame taikyti naujausią pataisos leidimą, kuriame yra ši karštoji pataisa. Norėdami gauti papildomos informacijos, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:

2692828 „SQL Server“ 2012 komponavimo versijos, išleistos po 2012 „SQL Server“ išleidimo

11 kaupiamasis naujinimas, skirtas „SQL Server“ 2008 R2 1 pakeitimų paketui

Šios problemos pataisa pirmą kartą buvo išleista 11 kaupiamajame naujinime. Norėdami gauti daugiau informacijos apie tai, kaip gauti šį kaupiamųjų naujinimų paketą, skirtą „SQL Server“ R2 1 pakeitimų paketui, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:

2812683 11 kaupiamasis naujinimo paketas, skirtas "„SQL Server“ 2008 R2" 1 pakeitimų paketuiPastaba, kadangi komponavimo versijos yra kaupiamosios, kiekviename naujame pataisos leidime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį "„SQL Server“ 2008 R2" 1 pakeitimų paketo pataisos leidimą. Rekomenduojame taikyti naujausią pataisos leidimą, kuriame yra ši karštoji pataisa. Norėdami gauti papildomos informacijos, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:

2567616 „SQL Server“ 2008 R2" komponavimo versijos, išleistos po „SQL Server“ 2008 R2 1 pakeitimų paketo išleidimo

9 kaupiamasis naujinimas, skirtas „SQL Server“ 2008 3 pakeitimų paketui (SP3)

Šios problemos pataisa pirmą kartą buvo išleista 9 kaupiamajame naujinime. Norėdami gauti daugiau informacijos apie tai, kaip gauti šį kaupiamąjį naujinimo paketą, skirtą „SQL Server“ 2008 3 pakeitimų paketui, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:

2799883 9 kaupiamasis naujinimo paketas, skirtas "„SQL Server“ 2008" 3 pakeitimų paketuiPastaba Komponavimo versijos yra kaupiamosios, todėl kiekviename naujame pataisos leidime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį "„SQL Server“ 2008" 3 pakeitimų paketo pataisos leidimą. Rekomenduojame taikyti naujausią pataisos leidimą, kuriame yra ši karštoji pataisa. Norėdami gauti papildomos informacijos, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:

2629969 „SQL Server“ 2008" komponavimo versijos, išleistos išleidus 2008 m. 3 pakeitimų paketą „SQL Server“

4 kaupiamasis naujinimas, skirtas "„SQL Server“ R2" 2 pakeitimų paketui (SP2)

Šios problemos pataisa pirmą kartą buvo išleista 4 kaupiamajame naujinime. Norėdami gauti daugiau informacijos apie tai, kaip gauti šį kaupiamųjų naujinimų paketą, skirtą „SQL Server“ R2 2 pakeitimų paketui, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:

2777358 4 kaupiamasis naujinimo paketas, skirtas "„SQL Server“ 2008 R2" 2 pakeitimų paketuiPastaba Komponavimo versijos yra kaupiamosios, todėl kiekviename naujame pataisos leidime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį "„SQL Server“ 2008 R2" 2 pakeitimų paketo leidimo leidimą. Rekomenduojame taikyti naujausią pataisos leidimą, kuriame yra ši karštoji pataisa. Norėdami gauti papildomos informacijos, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:

2730301 „SQL Server“ 2008 R2" komponavimo versijos, išleistos išleidus „SQL Server“ 2008 R2 2 pakeitimų paketą

Sprendimo būdas

Norėdami išspręsti šią problemą, iššifruokite duomenis prieš perkeldami juos į antrąją duomenų bazę. Perkėlę duomenis į kitą duomenų bazę, naudokite naują raktą duomenims šifruoti.

Būsena

„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.