Šiuo metu esate neprisijungę, laukiama, kol iš naujo prisijungsite prie interneto

Klaidos pranešimas, kai bandote įrašyti lentelę į SQL Server: "Taupymo pakeitimai neleidžiami"

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: 956176
Požymiai
Kai naudojate duomenų aprašymo kalba (DDL) Norėdami modifikuoti lentelę, ir tada jūs bandote įrašyti lentelę, Microsoft SQL Server 2008, galite gauti tokį pranešimą:
Neleidžiama įrašyti pakeitimus. Atlikote keitimus reikia toliau pateiktose lentelėse turi būti sumažėjo ir iš naujo sukurtas.Jūs turite arba prie stalo, kad negalite iš naujo sukurti ar įgalinta parinktis neleisti įrašyti pakeitimus, būtina bus iš naujo sukurta lentelė.
Priežastis
Ši problema kyla, kai į Užkirsti kelią išsaugoti pakeitimus, kurie reikalauja lentelės kūrimas iš naujo parinktis įjungta, ir jums padaryti vieną ar kelis toliau išvardytus pakeitimus į lentelę:
  • Galite pakeisti į Leisti neapibrėžtas reikšmes nustatyti stulpelio.
  • Galite pertvarkyti stulpelius lentelėje.
  • Galite keisti stulpelio duomenų tipas.
  • Pridedate naują stulpelį.
Pakeitus lentelę, kad jums pakeisti metaduomenų lentelės struktūrą, ir tada galite įrašyti lentelę, lentelės turi būti iš naujo sukurta remiantis šių pokyčių. Tai gali sukelti nuostolių metaduomenų ir tiesioginis duomenų praradimo per iš naujo sukurti lentelės. Jei įjungsite į Užkirsti kelią išsaugoti pakeitimus, kurie reikalauja lentelės kūrimas iš naujo variantas kad Dizaineris skirsnyje, SQL serverio valdymo studija (SSMS) parinktys lange gaunate klaidos pranešimui, paminėtam skyriuje "Požymiai".
Problemos sprendimas
Norėdami išspręsti šią problemą, naudokite Transact-SQL sakinių pakeitimus metaduomenų lentelės struktūrą. Papildomos informacijos ieškokite temoje SQL Server Books Online:

http://MSDN.Microsoft.com/en-us/library/ms190273.aspx

Pvz., pakeisti Mano_data stulpelio tipo datetime, stalo pavadino MyTable leisti neapibrėžtas reikšmes galite naudoti:

alter table MyTable alter column MyDate7 datetime NULL

Svarbus Mes primygtinai rekomenduojame, kad jūs ne išspręsti šią problemą išjungdami pasirinktį prevencijos įrašymą, reikalauja lentelės kūrimas iš naujo . Daugiau informacijos apie riziką, nepažymėjus šios pasirinkties, ieškokite skyriuje "Daugiau informacijos".
Būsena
Microsoft patvirtino, kad tai yra klaida Microsoft produktų, išvardytų skyriuje "Taikoma".
Daugiau informacijos
Pakeisti į Užkirsti kelią išsaugoti pakeitimus, kurie reikalauja lentelės kūrimas iš naujo parinktį, atlikite šiuos veiksmus:
  1. Atidaryti SQL Server Management Studio (SSMS).
  2. Dėl to Įrankiai meniu, spustelėkite Parinktys.
  3. Naršymo srityje, kad Parinktys langą, spustelėkite Dizaineriai.
  4. Pažymėkite arba išvalykite, Užkirsti kelią išsaugoti pakeitimus, kurie reikalauja lentelės kūrimas iš naujo žymės langelį, o tada spustelėkite gerai.
Pastaba Jei uždrausite šią parinktį, tu ne įspėti, kai jus įrašyti lentelę, atliktus keitimus pasikeitė metaduomenų lentelės struktūrą. Šiuo atveju, duomenų praradimas gali atsirasti, kai jus įrašyti lentelę.

Rizikos išjungimo parinktį "Neleisti įrašyti keitimai, kuriems reikia lentelės kūrimas iš naujo"

Nors nepažymėjus šios pasirinkties gali padėti jums išvengti iš naujo sukurti lentelę, ji gali taip pat sąlygoti pokyčiai gresia išnykimas. Tarkime, kad įjungsite keitimų sekimo funkcija SQL Server 2008 keitimų lentelę. Kai atliekate operaciją, sukelia į iš naujo sukurti lentelę, galite gauti klaidos pranešimui, paminėtam skyriuje "Požymiai". Tačiau, jei išjungiate šią pasirinktį, esamų keitimų sekimo informacija bus panaikintas, kai lentelės bus iš naujo sukurta. Todėl mes rekomenduojame, kad jūs ne išspręsti šią problemą išjungdami pasirinktį.

Norėdami nustatyti, ar keitimų sekimo funkcija įgalinta lentelζ, atlikite šiuos veiksmus:
  1. SQL Server Management Studio, raskite lentelės objektas Explorer.
  2. Dešiniuoju pelės mygtuku spustelėkite lentelę, o tada spustelėkite Ypatybės.
  3. Dialogo lango Lentelės ypatybės , spustelėkite Keisti sekimo.
Jei Keitimų sekimo prekės vertės yra tiesa, ši parinktis yra įgalinta lentelės. Jei reikšmė yra False, ši parinktis išjungta.

Kada keisti sekimo funkcija yra įjungta, naudokite Transact-SQL sakinių pakeisti metaduomenų lentelės struktūrą.

Veiksmus, padėsiančius atkurti problemą

  1. SQL Server Management Studio, sukurti lentelę, kurioje yra pirminis raktas lentelėje Designer įrankyje.
  2. Dešiniuoju pelės mygtuku spustelėkite duomenų bazę, kurioje šioje lentelėje, ir spustelėkite Ypatybės.
  3. Į į Duomenų bazės ypatybės dialogo langas, spustelėkite Keitimų sekimas.
  4. Nustatyti vertę, Keitimų sekimas elementą į Tiesa, tada spustelėkite gerai.
  5. Dešiniuoju pelės mygtuku spustelėkite lentelę, ir tada spustelėkite Ypatybės.
  6. Į į Lentelės ypatybės dialogo langas, spustelėkite Keitimų sekimas.
  7. Nustatyti vertę, Keitimų sekimas elementą į Tiesa, tada spustelėkite gerai.
  8. Dėl to Įrankiai meniu, spustelėkite Parinktys.
  9. Į į Parinktys dialogo langas, spustelėkite Dizaineriai.
  10. Paspauskite, jei norite pasirinkti, Užkirsti kelią išsaugoti pakeitimus, kurie reikalauja lentelės kūrimas iš naujo žymės langelį, o tada spustelėkite gerai.
  11. Lentelės dizainerį įrankyje, keisti, Leisti neapibrėžtas reikšmes esamo stulpelio parametrai.
  12. Pabandykite įrašyti pakeitimą į lentelę.
sqlsvr12 sqlsvr2008 "SQL Server 2008 įrankiai"SQL2008RelNoteTools "keisti sekimo"

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

Savybės

Straipsnio ID: 956176 – Paskutinė peržiūra: 06/07/2013 02:56:00 – Peržiūra: 1.0

Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Express with Advanced Services, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Express with Advanced Services, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Standard Edition for Small Business, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, SQL Server 2012 Enterprise Core

  • kbtshoot kbsqlsetup sql2008relnotetools sql2008relnote kbprb kbmt KB956176 KbMtlt
Atsiliepimai