Tõrketeade, kui proovite salvestada tabeli SQL Server: "Saving muutused ei ole lubatud"

Artiklite tõlked Artiklite tõlked
Artikli ID: 956176 - Vaadake tooteid, millega see artikkel seostub.
Laienda kõik | Ahenda kõik

Sellel veebilehel

Sümptomid

Kui andmete andmekirjelduskeele (DDL) abil saate muuta tabeli ja seejärel proovite salvestada tabeli Microsoft SQL Server 2008, võidakse kuvada järgmine teade:
Saving muutused ei ole lubatud. Teie tehtud muudatused nõuavad järgmisi tabeleid langenud ja uuesti loodud. Olete kas teinud muudatusi tabelisse, mida ei saa uuesti luua või võimaldanud võimalust Prevent muudatuste salvestamist, mis nõuavad tabeli uuesti loodud.

Põhjus

See probleem ilmneb siis, kui on Salvestada muutusi, mis nõuavad tabeli uuesti loomist takistada valik on sisse lülitatud ja te tehke üks või mitu järgmistest muudatustest tabelisse:
  • Muudate selle Luba tühiväärtusi milles veeru.
  • Saate tabeli veerge ümber reastada.
  • Veeru andmetüüpi muuta.
  • Uue veeru lisamine.
Tabeli muutmisel nii, et te muuta tabelis metaandmete struktuuri ja seejärel salvestage tabel tabel peab olema kaustadel põhinevad need muutused. See võib põhjustada kaotus metaandmed ja andmete otsese kahju ajal uuesti tabeli loomine. Kui lubate selle Salvestada muutusi, mis nõuavad tabeli uuesti loomist takistada failis on Disainer osa on SQL Server Management Studio (SSMS) suvandid aknas kuvatakse jaotises "Sümptomid" kirjeldatud tõrketeade.

Vastukaal

Probleemi lahendamiseks kasutage tehinguid-SQL-laused, muuta tabeli struktuuri metaandmed. Täiendavat teavet vaadake järgmine teema SQL Server Books Online:

http://msdn.microsoft.com/en-us/Library/ms190273.aspx

Näiteks muuta MyDate veerus tüüp datetime on laual nn MyTable vastu TÜHJAD väärtused saab kasutada:

alter table MyTable alter column MyDate7 datetime NULL

Oluline Me soovitame, et te ei tööta selle probleemi poolt väljalülitamise võimalus vältida muudatused, mis nõuavad tabeli uuesti loomist . Antud suvandi väljalülitamine ohu kohta lisateabe saamiseks vaadake jaotist "Lisateave".

Olek

Microsoft on kinnitanud, et see on bug Microsofti toodetega, mis on loetletud jaotises "Kehtib".

Lisateave

Muuta ning Salvestada muutusi, mis nõuavad tabeli uuesti loomist takistada valik, järgige neid samme:
  1. Avatud SQL Server Management Studio (SSMS).
  2. Kohta ning Tööriistad menüü, klõpsake nuppu Valikud.
  3. Navigeerimispaani ning selle Valikud aken, klõpsake Disainerid.
  4. Märkige või tühjendage nende Salvestada muutusi, mis nõuavad tabeli uuesti loomist takistada ruut ja klõpsake siis nuppu Ok.
Märkus Kui KEELATE selle suvandi, teil on hoiatanud, kui salvestate tabeli, mis tehtud muudatused on muutnud metaandmete tabeli struktuuri. Sel juhul andmete kaotsiminekut võib tekkida, kui tabeli salvestamist.

Oht "Prevent muudatuste salvestamist, mis nõuavad tabeli uuesti loomist" suvandi väljalülitamine

Kuigi selle suvandi väljalülitamisel võib aidata teil vältida uuesti luua tabeli, see võib viia ka muudatused on kadunud. Oletagem näiteks, et lubate muutuste jälitamise funktsioon SQL Server 2008 jälgida muutuste tabeliga. Kui sooritate toimingu, mis põhjustab tabeli, et tuleb uuesti luua, kuvatakse jaotises "Sümptomid" kirjeldatud tõrketeade. Siiski, kui te selle suvandi välja lülitada, olemasolevate muutuste jälituse teave kustutatakse, kui tabel on loodud. Soovitame, et te ei tööta selle probleemi poolt väljalülitamise võimalus.

Teha kindlaks, kas muutuste jälitamise funktsioon on lubatud tabelis, toimige järgmiselt.
  1. SQL Server Management Studio, leidke tabel objekti Explorer.
  2. Paremklõpsake tabelit ja seejärel klõpsake käsku Atribuudid.
  3. Klõpsake dialoogiboksi TabeliatribuudidMuutuste jälitamise funktsioon.
Kui Muutuste jälitamise üksuse väärtus on tõene, on see suvand lubatud tabeli jaoks. Kui väärtus on False, on see suvand keelatud.

Kui muuta jälituse funktsioon on lubatud, tehinguid-SQL-lausete abil saate muuta tabeli metaandmete struktuuri.

Probleemi taasesilekutsumise juhised

  1. SQL Server Management Studio, luua tabelit, mis sisaldab primaarvõtme tabelikujundaja tööriista.
  2. Paremklõpsake andmebaas, mis sisaldab selle tabeli ja seejärel käsku Atribuudid.
  3. Aastal ning Andmebaasi atribuudid dialoogiboksis klõpsake nuppu Muutuste jälitus.
  4. Väärtuse seadmine ning Muutuste jälitus üksuse Tõsi, ja seejärel klõpsake nuppu Ok.
  5. Paremklõpsake tabelit ja seejärel klõpsake nuppu Atribuudid.
  6. Aastal ning Tabeli atribuudid dialoogiboksis klõpsake nuppu Muutuste jälitus.
  7. Väärtuse seadmine ning Muutuste jälitus üksuse Tõsi, ja seejärel klõpsake nuppu Ok.
  8. Kohta ning Tööriistad menüü, klõpsake nuppu Valikud.
  9. Aastal ning Valikud dialoogiboksis klõpsake nuppu Disainerid.
  10. Märkige selle Salvestada muutusi, mis nõuavad tabeli uuesti loomist takistada ruut ja klõpsake siis nuppu Ok.
  11. Tööriistas tabelikujundaja muuta ning Luba tühiväärtusi olemasoleva veeru säte.
  12. Proovige salvestada muutuse tabel.

Atribuudid

Artikli ID: 956176 - Viimati läbi vaadatud: 7. juuni 2013 - Redaktsioon: 1.0
Kehtib järgmise lõigu kohta:
  • 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
Märksõnad: 
kbtshoot kbsqlsetup sql2008relnotetools sql2008relnote kbprb kbmt KB956176 KbMtet
Masintõlgitud
NB! Artikkel on tõlgitud Microsofti masintõlketarkvaraga ja seda saab parandada Kogukonnapõhise tõlkeraamistiku (CTF) tehnoloogiaga. Microsoft pakub masintõlgitud, kogukonna järeltöödeldud ja inimtõlgitud artikleid, et anda mitmekeelne juurdepääs kõigile meie teabebaasi artiklitele. Masintõlgitud ja järeltöödeldud artiklites võib olla sõnavara-, süntaksi- ja/või grammatikavigu. Microsoft ei vastuta mingite ebatäpsuste, tõrgete ega kahjude eest, mis on tulenenud sisu valest tõlkest või selle kasutamisest meie klientide poolt. Lisateavet CTF-i kohta leiate aadressilt http://support.microsoft.com/gp/machine-translation-corrections/et.
Artikli ingliskeelse versiooni kuvamiseks klõpsake siin: 956176

Andke tagasisidet

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com