Sign in with Microsoft
Sign in or create an account.

Sümptomid

Oletagem, et lisate veeru tabelisse Microsoft SQL Server 2012 või SQL Server 2014. Kui rea suurus on 8 060 baitides suurima lubatud suurusega, võib toimingu lisamine võtta kaua aega.

Põhjus

See probleem ilmneb, sest kui rea kogumaht on suurima lubatud rea suuruse lähedal, teeb SQL Server tabeli täieliku skannimise tagamaks, et uue veeru lisamine ei rikuks andmete terviklikkust. Versioonid enne SQL Server 2012 ei tee seda kontrolli ja et andmete määratluse keel (DDL) töötab kiiremini. Kuid selline käitumine põhjustab järgmiste toimingute (nt rea värskendamine või kahandamine) ebaõnnestumist, kui rea maht ületab lubatud mahu.

Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Vaadake SQL serveri kumulatiivseid värskendusi.

Lisateave

  • Jälituslipp 647 saab sisselülitamiseks kasutada startup parameetrit. Lisateavet leiate teemast andmebaasi mootori teenuse käivitamise suvandid.

  • Saate käivitada järgmise päringu (Palun asendage <tabeli nimi> oma tegeliku tabeli nimega), et testida konkreetset tabelit enne operatsiooni tootmissüsteemi ja kavandada selle probleemi mõju. Kui tulem on suurem kui 8 060, kuulub teie tabelile see probleem. Kui olete veergudest loobunud, peate muutma tabelit, mille suvand on uuesti üles ehitatud. Tabeli uuesti koostamine võib muuta päringu tulemid õigeks.

    select  1+1+2 + 2 +  (case  when sum (case when leaf_offset < 0 then 1 else 0 end) > 0 then 2 else 0 end)  +  ( (count (*) + 7)/8 ) + count (case when leaf_offset < 0 then 1 else null end) * 2 +  sum( case when max_length=-1 then 24 else max_length end)  from sys.system_internals_partition_columns   col join sys.partitions par on col.partition_id = par.partition_id  where object_id = object_id ('<table name>')  and  index_id in (0,1) and partition_number =1 
  • Saate kaaluda muutuva pikkusega veergude või hõreda veergude lisamist, kui teie rakendus liidab tabelile sageli uued veerud. See on ainult metaandmetega toiming, isegi kui kõigi veergude kogumaht ületab 8 060 baiti.

Olek

Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.

Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?

Täname tagasiside eest!

×