Pesan galat saat Anda mencoba untuk menyimpan tabel atak dalam SQL Server: "Menyimpan perubahan tidak diperbolehkan"

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 956176 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

GEJALA

Ketika Anda menggunakan Data definisi bahasa (DDL) untuk mengubah tabel atak, dan kemudian Anda mencoba untuk menyimpan tabel atak di Microsoft SQL Server 2008, Anda akan menerima pesan berikut:
Menyimpan perubahan tidak diperbolehkan. Perubahan yang telah Anda buat memerlukan Daftar Tabel berikut akan turun dan kembali. Anda memiliki baik membuat perubahan ke Daftar Tabel yang tidak dapat kembali atau mengaktifkan opsi mencegah menyimpan perubahan yang memerlukan Daftar Tabel harus dibuat ulang.

PENYEBAB

Masalah ini terjadi ketika Mencegah menyimpan perubahan yang memerlukan penciptaan kembali Daftar Tabel pilihan diaktifkan, dan Anda membuat satu atau lebih perubahan berikut ke tabel:
  • Anda mengubah Memungkinkan Nulls pengaturan untuk kolom.
  • Anda menyusun ulang kolom dalam Daftar Tabel.
  • Anda mengubah tipe data kolom.
  • Anda menambahkan kolom baru.
Bila Anda mengubah tabel atak sehingga Anda mengubah struktur metadata tabel atak, dan kemudian Anda menyimpan Daftar Tabel, Daftar Tabel harus dibuat ulang berdasarkan perubahan ini. Ini dapat menyebabkan hilangnya metadata dan langsung hilangnya data selama penciptaan kembali Daftar Tabel. Jika Anda mengaktifkan Mencegah menyimpan perubahan yang memerlukan penciptaan kembali Daftar Tabel pilihan di Desainer bagian dari SQL Server Management Studio (SSMS) pilihan jendela, Anda menerima pesan galat yang disebutkan di bagian "Gejala".

TEKNIK PEMECAHAN MASALAH

Untuk mengatasi masalah ini, gunakan Transact-SQL pernyataan untuk membuat perubahan pada struktur metadata tabel atak. Untuk informasi tambahan lihat topik berikut dalam SQL Server buku Online:

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

Sebagai contoh, untuk mengubah kolom MyDate datetime jenis di di tabel atak disebut MyTable untuk menerima nilai-nilai NULL yang dapat Anda gunakan:

alter table MyTable alter column MyDate7 datetime NULL

Penting Kami sangat menganjurkan bahwa Anda tidak bekerja di sekitar masalah ini dengan mematikan opsi mencegah menyimpan perubahan yang memerlukan Daftar Tabel penciptaan kembali . Untuk informasi lebih lanjut tentang risiko mematikan opsi ini, lihat bagian "Informasi selengkapnya".

STATUS

Microsoft telah mengkonfirmasi bahwa ini adalah bug dalam produk Microsoft sebagaimana didaftar di dalam bagian "Berlaku untuk".

INFORMASI LEBIH LANJUT

Untuk mengubah Mencegah menyimpan perubahan yang memerlukan penciptaan kembali Daftar Tabel pilihan, ikuti langkah berikut:
  1. Buka SQL Server Management Studio (SSMS).
  2. Pada Alat menu, klik Pilihan.
  3. Di panel navigasi Pilihan jendela, klik Desainer.
  4. Memilih atau menghapus Mencegah menyimpan perubahan yang memerlukan penciptaan kembali Daftar Tabel centang kotak, dan kemudian klik Oke.
Catatan Jika Anda menonaktifkan opsi ini, Anda tidak diperingatkan saat Anda menyimpan tabel atak bahwa perubahan yang Anda buat telah mengubah struktur metadata tabel atak. Dalam kasus ini, kehilangan data dapat terjadi saat Anda menyimpan tabel atak.

Risiko mematikan opsi "Mencegah menyimpan perubahan yang memerlukan penciptaan kembali tabel"

Meskipun mematikan opsi ini dapat membantu Anda menghindari menciptakan kembali Daftar Tabel, itu juga dapat menyebabkan perubahan hilang. Misalnya, agar Anda mengaktifkan fitur pelacakan perubahan dalam SQL Server 2008 untuk melacak perubahan ke tabel atak. Ketika Anda melakukan operasi yang menyebabkan tabel atak untuk dapat kembali, Anda menerima pesan galat yang disebutkan di bagian "Gejala". Namun, jika Anda menonaktifkan opsi ini, ada perubahan informasi pelacakan akan dihapus ketika Daftar Tabel dibuat ulang. Oleh karena itu, kami merekomendasikan bahwa Anda tidak bekerja di sekitar masalah ini dengan mematikan pilihan.

Untuk menentukan apakah perubahan pelacakan fitur diaktifkan untuk Daftar Tabel, ikuti langkah berikut:
  1. Dalam SQL Server Management Studio, Telisik Daftar Tabel dalam Explorer objek.
  2. Klik kanan-atas tabel atak, dan kemudian klik Properti.
  3. Di kotak dialog Properti Daftar Tabel , klik Ubah pelacakan.
Jika nilai item Perubahan pelacakan yang benar, opsi ini diaktifkan untuk tabel atak. Jika nilai adalah palsu, opsi ini dinonaktifkan.

Ketika mengubah pelacakan fitur diaktifkan, menggunakan Transact-SQL pernyataan untuk mengubah struktur metadata tabel atak.

Langkah-langkah untuk mereproduksi masalah

  1. Dalam SQL Server Management Studio, membuat sebuah Daftar Tabel yang berisi bukti kunci utama dalam alat tabel atak desainer.
  2. Klik kanan-atas database yang berisi Daftar Tabel ini, dan kemudian klik Properti.
  3. Dalam Database properti kotak dialog, klik Mengubah pelacakan.
  4. Mengatur nilai Mengubah pelacakan item Benar, lalu klik Oke.
  5. Klik kanan-atas tabel atak, dan kemudian klik Properti.
  6. Dalam Daftar Tabel properti kotak dialog, klik Mengubah pelacakan.
  7. Mengatur nilai Mengubah pelacakan item Benar, lalu klik Oke.
  8. Pada Alat menu, klik Pilihan.
  9. Dalam Pilihan kotak dialog, klik Desainer.
  10. Klik untuk memilih Mencegah menyimpan perubahan yang memerlukan penciptaan kembali Daftar Tabel centang kotak, dan kemudian klik Oke.
  11. Dalam Daftar Tabel perancang alat, mengubah Memungkinkan Nulls pengaturan pada kolom yang ada.
  12. Cobalah untuk menyimpan perubahan ke tabel atak.

Properti

ID Artikel: 956176 - Kajian Terakhir: 06 Juni 2012 - Revisi: 1.0
Berlaku bagi:
  • 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
Kata kunci: 
kbsqlsetup sql2008relnotetools sql2008relnote kbprb kbmt KB956176 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini: 956176

Berikan Masukan

 

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