Ketika saya membuat tabel di SQL Server dan menyimpannya, jika saya mencoba mengedit desain tabel, seperti mengubah tipe kolom dari int ke real, saya mendapatkan kesalahan ini:
Menyimpan perubahan tidak diizinkan. Perubahan yang Anda buat mengharuskan tabel berikut untuk dijatuhkan dan dibuat kembali. Anda telah membuat perubahan pada tabel yang tidak dapat dibuat kembali atau mengaktifkan opsi ini untuk mencegah perubahan penyimpanan yang mengharuskan tabel dibuat kembali.
Mengapa saya harus membuat ulang tabel? Saya hanya ingin mengubah tipe data dari smallint
menjadi real
.
Meja itu kosong, dan saya tidak menggunakannya sampai sekarang.
sql-server-2008
save
ssms
menuitem
Arash
sumber
sumber
Jawaban:
Dari Kotak Dialog Simpan (Tidak Diizinkan) di MSDN :
Lihat Juga Colt Kwong, Entri Blog:
Menyimpan perubahan tidak diizinkan di SQL 2008 Management Studio
sumber
Apakah Anda menggunakan SSMS?
Jika ya, kebagian menu Alat >> Opsi >> Desainer dan hapus centang “Mencegah Menyimpan perubahan yang memerlukan pembuatan ulang tabel”
sumber
Penjelasan lebih lanjut
Secara default SQL Server Management Studio mencegah menjatuhkan tabel, karena ketika sebuah tabel dijatuhkan, isi datanya hilang. *
Saat mengubah tipe data kolom dalam tampilan Desain tabel, saat menyimpan perubahan, basis data akan menjatuhkan tabel secara internal dan kemudian membuat kembali yang baru.
* Keadaan spesifik Anda tidak akan menimbulkan konsekuensi karena meja Anda kosong. Saya memberikan penjelasan ini sepenuhnya untuk meningkatkan pemahaman Anda tentang prosedur ini.
sumber
Untuk mengubah Mencegah perubahan yang memerlukan opsi pembuatan ulang tabel, ikuti langkah-langkah ini:
Buka SQL Server Management Studio (SSMS). Pada menu Alat, klik Opsi.
Di panel navigasi dari jendela Opsi, klik Desainer.
Pilih atau kosongkan kotak centang Cegah perubahan yang membutuhkan pembuatan ulang tabel, lalu klik OK.
Catatan : Jika Anda menonaktifkan opsi ini, Anda tidak diperingatkan ketika Anda menyimpan tabel bahwa perubahan yang Anda buat telah mengubah struktur metadata tabel. Dalam hal ini, kehilangan data dapat terjadi saat Anda menyimpan tabel.
sumber
Ini adalah masalah pengaturan yang sangat mudah dan sederhana yang dapat diperbaiki dalam 5 detik dengan mengikuti langkah-langkah ini
Untuk memungkinkan Anda menyimpan perubahan setelah mengubah tabel, Harap ikuti langkah-langkah ini untuk pengaturan sql Anda:
sumber
Buka Alat yang terletak di menu atas.
Pilih opsi dari dropdown. Anda memiliki sembulan sekarang pilih opsi Desainer yang terletak di sebelah kiri blok menu. Hapus centang pada opsi Cegah perubahan simpanan yang membutuhkan pembuatan ulang tabel . Klik pada Tombol OK.
sumber
Hapus centang pada
Prevent saving changes that require table re-creation
kotak dari Alat ► Opsi ► tab Desainer .Contoh SQL Server 2012:
sumber
Ini dapat diubah dengan mudah di Microsoft SQL Server .
sumber
Disalin dari tautan ini "... Penting Kami sangat menyarankan agar Anda tidak mengatasi masalah ini dengan mematikan opsi Cegah perubahan yang memerlukan opsi pembuatan ulang tabel. Untuk informasi lebih lanjut tentang risiko mematikan opsi ini, lihat" "Informasi lebih lanjut."
"... Untuk mengatasi masalah ini, gunakan pernyataan Transact-SQL untuk membuat perubahan pada struktur metadata tabel. Untuk informasi tambahan lihat topik berikut di SQL Server Books Online
Misalnya, untuk mengubah kolom MyDate dari tipe datetime di pada tabel bernama MyTable untuk menerima nilai NULL Anda dapat menggunakan:
ubah tabel MyTable ubah kolom MyDate7 datetime NULL "
sumber
Dan kalau-kalau seseorang di sini juga tidak memperhatikan (seperti saya):
Untuk Microsoft SQL Server 2012, di kotak dialog opsi, ada kotak centang kecil yang licik yang SANGAT menyembunyikan semua pengaturan lainnya. Meskipun aku harus mengatakan bahwa aku telah merindukan monster kecil itu selama ini !!!
Setelah itu, Anda dapat melanjutkan dengan langkah-langkah, perancang, hapus centang cegah penyelamatan bla bla bla ...
sumber
Alat >> Opsi >> Desainer dan hapus centang "Mencegah Menyimpan perubahan yang memerlukan pembuatan ulang tabel":
sumber
1) Buka alat yang ada di atas.
2) Pilih opsi dari Daftar Pilih.
3) Sekarang Hadir popup dan sekarang Anda dapat memilih opsi desainer dari daftar menu di sisi kiri.
4) Sekarang cegah penyimpanan perubahan perlu dicentang yang diperlukan pembuatan ulang tabel. Sekarang Klik OK.
sumber
Dari menu Alat, klik Opsi, pilih Desainer dari menu samping dan hapus centang untuk mencegah perubahan yang dapat menyebabkan rekreasi tabel. Kemudian simpan perubahan
sumber
Jika Anda tidak dapat melihat "Cegah penyimpanan perubahan yang diperlukan pembuatan ulang tabel" dalam daftar seperti itu Gambar
Anda harus mengaktifkan pelacakan perubahan.
sumber
Jika Anda menggunakan sql server Management studio, buka Tools >> Options >> Designer dan hapus centang "Cegah Penghematan perubahan yang memerlukan pembuatan ulang tabel" Ini berfungsi dengan saya
sumber