NUSTATYTI: Duomenų stulpelio gali būti panaikinta atnaujinus kitą Kintamo ilgio stulpelį lentelėje atnaujinti iš SQL Server 2005 duomenų bazės

SVARBU: šis straipsnis išverstas naudojant „Microsoft“ mašininio vertimo programinę įrangą ir gali būti pataisytas naudojant „Community Translation Framework“ (CTF) technologiją. „Microsoft“ siūlo mašinos išverstus ir po to bendruomenės suredaguotus straipsnius, taip pat žmogaus išverstus straipsnius siekdama suteikti prieigą prie visų savo žinių bazės straipsnių daugeliu kalbų. Mašinos išverstuose ir vėliau paredaguotuose straipsniuose gali būti žodyno, sintaksės ir / arba gramatikos klaidų. „Microsoft“ neatsako už jokius netikslumus, klaidas arba žalą, patirtą dėl neteisingo turinio vertimo arba mūsų klientų naudojimosi juo. Daugiau apie CTF žr. http://support.microsoft.com/gp/machine-translation-corrections.

Spustelėkite čia, norėdami pamatyti šio straipsnio versiją anglų kalba: 3120595
Požymiai
Kai naujinate Kintamo ilgio stulpelių su atnaujinta iš Microsoft SQL Server 2005 duomenų bazės lentelėje reikšmės, panaikinamas kitą Kintamo ilgio stulpelio toje pačioje eilutėje.

Ši problema kyla "Microsoft SQL Server 2014" ir "Microsoft SQL Server 2012. Pagal šį scenarijų gali kilti duomenų bazę šiai problemai spręsti. Šiame sąraše yra įvykių seką:

  • Duomenų bazė yra sukurta SQL Server 2005.
  • SQL Server 2005, galite keisti lentelę, ir tada jūs palikti vieną ar daugiau Kintamo ilgio stulpelių lentelės apibrėžties pabaigoje.
  • Galite pridėti naują Kintamo ilgio stulpelių, panašių duomenų tipas ir ilgis atmesti stulpelius.
  • Duomenų bazė yra iš SQL Server 2005 SQL Server 2014 m. arba SQL Server 2012.
  • Vėliau galite atnaujinti kitą Kintamo ilgio stulpelio, ir atnaujintus duomenis turi būti perpilda į naują puslapį.
Tokiu atveju gali būti panaikintas vienas ar daugiau vienoje eilutėje naujai sukurtą stulpelių duomenis.

Galite naudoti scenarijų, kad Daugiau informacijos skyrius ir patikrinkite:

  • Bet pateiktos duomenų bazės lentelėse panaikinote Kintamo ilgio stulpelių
  • Ar papildomų Kintamo ilgio stulpelių buvo sukurtos, kuriuose randami (punktais).
Pastaba. Ši problema yra ne rastas DBCC CHECKDB.
Sprendimas
Pastaba. Šios pataisos tik neleidžia ateityje įvykių problema.

Svarbu. Jei naujinate duomenų bazę iš SQL Server 2005 SQL Server 2014 m. arba SQL Server 2012, įsitikinkite, kad jums žr. skyriuje "Sprendimas".

Ši problema pirmą kartą buvo išspręsta šį kaupiamąjį naujinimą SQL Server:

Tai yra kaupiamieji naujinimai, šių programų versijos.

Rekomendacija: Įdiegti naujausią kaupiamąjį naujinimą "SQL Server 2014 m. arba SQL Server 2012"

Įdiekite kiekvieną naują Kaupiamasis naujinimas SQL Server yra visos karštosios ir naujausios saugos pataisos, kurios buvo įtrauktos į ankstesnio kaupiamojo naujinimo. Patikrinkite SQL Server kaupiamieji naujinimai:



Pastaba. Jei norite gauti daugiau informacijos apie naujausią "SQL Server" komponavimo versijos, žr. Kur rasti informaciją apie naujausią SQL serverio komponavimo versijos.
Problemos sprendimas
Svarbu. Taikyti šį sprendimą, naujinant duomenų bazę iš SQL Server 2005 SQL Server 2014 m. arba SQL Server 2012 ir prieš leisite naujinimo įrašus paleisti atnaujintą duomenų bazėje.

Norėdami išspręsti šią problemą, jei jūs palikti stulpelius lentelėje, įsitikinkite, kad atliekate vieną iš toliau nurodytų prieš atnaujinti arba eilutes:

  • Klasterinis indeksas atkurti naudojant pakeisti indeksas (...) ATKURTI
  • Atkurti netvarkiojo masyvo naudojant ALTER TABLE (...) ATKURTI

Daugiau informacijos
Norėdami patikrinti, ar visas susijusio duomenų bazės lentelėse, panaikinti stulpelių, kurie gali būti paveikti šią problemą, galite naudoti šį scenarijų.

Pastaba. Jei scenarijų nepateikia visas eilutes, tai reiškia, kad ši problema šiuo metu netaikomas bet kurį jūsų sistemoje.
SELECT DISTINCT OBJECT_NAME(sp.[object_id]) AS TableWithDroppedColsFROM sys.system_internals_partition_columns sipc1 WITH (NOLOCK)INNER JOIN sys.system_internals_partition_columns sipc2 WITH (NOLOCK)       ON sipc1.[partition_id] = sipc2.[partition_id] AND              sipc1.leaf_offset = sipc2.leaf_offset AND              sipc1.leaf_offset < 0 AND               sipc1.is_dropped < sipc2.is_droppedINNER JOIN sys.partitions sp WITH (NOLOCK) ON sipc1.[partition_id] = sp.[partition_id];

Svarbu. Šį scenarijų reikia naudoti tik tiems tikslams ir šiame straipsnyje.
Būsena
„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, problema.

Įspėjimas: šis straipsnis išverstas automatiškai

Rekvizīti

Raksta ID: 3120595. Pēdējo reizi pārskatīts: 05/31/2016 08:25:00. Pārskatījums: 11.0

Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3120595 KbMtlt
Atsauksmes