Jika saya ingin menyimpan perubahan apa pun dalam tabel, yang sebelumnya disimpan di SQL Server Management Studio (tidak ada data dalam tabel) saya mendapatkan pesan kesalahan:
Menyimpan perubahan tidak diizinkan. Perubahan yang telah Anda buat mengharuskan tabel berikut untuk dijatuhkan dan dibuat kembali. Anda telah membuat perubahan pada tabel yang tidak dapat dibuat kembali atau mengaktifkan opsi. Mencegah menyimpan perubahan yang mengharuskan tabel dibuat kembali.
Apa yang bisa mencegah tabel agar mudah diedit? Atau, apakah ini cara biasa untuk SQL Server Management Studio untuk meminta pembuatan kembali tabel untuk diedit? Apa itu - "opsi Cegah perubahan simpanan" ini ?
Jawaban:
Pergilah ke Alat -> Opsi -> Desainer-> Hapus centang "Cegah perubahan simpanan yang memerlukan pembuatan ulang tabel". Voila.
Itu terjadi karena kadang-kadang perlu untuk menjatuhkan dan membuat ulang tabel untuk mengubah sesuatu. Ini bisa memakan waktu cukup lama, karena semua data harus disalin ke tabel temp dan kemudian dimasukkan kembali ke tabel baru. Karena SQL Server secara default tidak mempercayai Anda, Anda perlu mengatakan "OK, saya tahu apa yang saya lakukan, sekarang biarkan saya melakukan pekerjaan saya."
sumber
Alat> Opsi
Hapus centang opsi di atas
sumber
Untuk mengatasi masalah ini, gunakan pernyataan SQL untuk membuat perubahan pada struktur metadata tabel.
Masalah ini terjadi ketika opsi "Cegah penyimpanan perubahan yang memerlukan pembuatan ulang tabel" diaktifkan.
Sumber: Pesan galat saat Anda mencoba untuk menyimpan tabel di SQL Server 2008: "Menyimpan perubahan tidak diizinkan"
sumber
Daripada menghapus centang pada kotak (solusi yang buruk), Anda harus BERHENTI mengedit data dengan cara itu. Jika data harus diubah, maka lakukan dengan skrip, sehingga Anda dapat dengan mudah porting ke produksi dan sehingga di bawah kendali sumber. Ini juga membuatnya lebih mudah untuk me-refresh perubahan pengujian setelah produksi telah didorong ke dev untuk memungkinkan pengembang untuk bekerja melawan data yang lebih segar.
sumber
Pergi ke SSMS dan coba ini
Menu >> Alat >> Opsi >> Desainer >> Hapus centang “Mencegah Menyimpan perubahan yang memerlukan pembuatan ulang tabel”.
Berikut adalah penjelasan yang sangat baik tentang ini: http://blog.sqlauthority.com/2009/05/18/sql-server-fix-management-studio-error-saving-changes-in-not-permitted-the-changes -Anda-telah-membuat-meminta-tabel-berikut-untuk-dijatuhkan-dan-kembali-membuat-Anda-telah-membuat-membuat-perubahan-ke-tab /
sumber
Banyak perubahan yang dapat Anda buat dengan sangat mudah dan visual dalam editor tabel di SQL Server Management Studio sebenarnya membutuhkan SSMS untuk menjatuhkan tabel di latar belakang dan membuat ulang dari awal. Bahkan hal-hal sederhana seperti menata ulang kolom tidak dapat diekspresikan dalam pernyataan standar SQL DDL - semua SSMS dapat lakukan adalah menjatuhkan dan membuat ulang tabel.
Operasi ini dapat a) sangat memakan waktu di atas meja besar, atau b) bahkan mungkin gagal karena berbagai alasan (seperti kendala dan hal-hal FK). Oleh karena itu, SSMS di SQL Server 2008 memperkenalkan bahwa opsi baru jawaban lain telah diidentifikasi.
Ini mungkin tampak kontra-intuitif pada awalnya untuk mencegah perubahan seperti itu - dan ini tentu saja merupakan gangguan pada server dev. Tetapi pada server produksi, opsi ini dan nilai default untuk mencegah perubahan tersebut menjadi penyelamat yang potensial!
sumber
Ini risiko mematikan opsi ini. Anda dapat kehilangan perubahan jika pelacakan perubahan diaktifkan (tabel Anda).
Chris
http://chrisbarba.wordpress.com/2009/04/15/sql-server-2008-cant-save-changes-to-tables/
sumber