FIX: bidang data akan dihapus ketika Anda memutakhirkan lain variabel-panjang kolom di Daftar Tabel pangkalan data meningkatkan dari SQL Server 2005

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 3120595
Gejala
Ketika Anda memutakhirkan nilai variabel-panjang kolom di Daftar Tabel pangkalan data yang ditingkatkan dari Microsoft SQL Server 2005, data di kolom panjang-variabel lain di baris yang sama akan dihapus.

Masalah ini terjadi di Microsoft SQL Server 2014 dan Microsoft SQL Server 2012. Skenario berikut ini akan membuka pangkalan data untuk masalah ini. Daftar ini menunjukkan urutan menurun peristiwa:

  • Database yang dibuat di SQL Server 2005.
  • SQL Server 2005, Anda mengubah Daftar Tabel, dan kemudian Anda drop satu atau lebih variabel-panjang kolom di akhir definisi Daftar Tabel.
  • Anda menambahkan baru variabel-panjang kolom yang memiliki jenis data dan panjang kolom terputus yang sama.
  • Database ditingkatkan dari SQL Server 2005 ke SQL Server 2014 atau SQL Server 2012.
  • Anda kemudian memutakhirkan nilai variabel-panjang kolom lain, dan data diperbarui harus overflow ke halaman baru.
Dalam skenario ini, data di satu atau lebih banyak kolom yang baru ditambahkan di baris yang sama dapat dihapus.

Anda dapat menggunakan skrip di Informasi lebih lanjut Bagian untuk memverifikasi berikut ini:

  • Apakah semua Daftar Tabel di pangkalan data tertentu telah dihapus variabel-panjang kolom
  • Apakah tambahan kolom variabel-panjang telah dibuat yang mengandung offset
Catatan Masalah ini tidak ditemukan oleh DBCC CHECKDB.
Pemecahan masalah
Catatan Perbaikan ini hanya mencegah mendatang kejadian masalah.

Penting Apabila Anda mengupgrade pangkalan data dari SQL Server 2005 ke SQL Server 2014 atau SQL Server 2012, pastikan bahwa Anda merujuk ke bagian "Penyelesaian".

Masalah ini pertama kali diperbaiki dalam pemutakhiran kumulatif berikut ini untuk SQL Server:

Ini adalah pembaruan kumulatif terbaru untuk versi program tersebut.

Rekomendasi: Menginstal pembaruan kumulatif terbaru untuk SQL Server 2014 atau SQL Server 2012

Menginstal pembaruan kumulatif baru setiap SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan di dalam pembaruan kumulatif sebelumnya. Periksa pembaruan kumulatif terbaru untuk SQL Server:



Catatan Untuk informasi selengkapnya tentang bangun SQL Server terbaru, lihat Telisik informasi tentang terbaru SQL Server di mana bangun.
Teknik pemecahan masalah
Penting Menerapkan pemecahan masalah ini ketika Anda meng-upgrade pangkalan data SQL Server 2005 ke SQL Server 2014 atau SQL Server 2012 dan sebelum Anda membiarkan pernyataan PEMUTAKHIRAN yang dapat dijalankan di pangkalan ditingkatkan.

Untuk menyelesaikan masalah ini jika Anda drop kolom dalam Daftar Tabel, pastikan bahwa Anda lakukan salah satu berikut ini sebelum Anda memperbarui atau menghapus baris:

  • Membangun kembali indeks kluster menggunakan mengubah indeks (...) Membangun kembali
  • Membangun kembali tumpukan menggunakan ALTER TABLE (...) Membangun kembali

Informasi lebih lanjut
Anda dapat menggunakan skrip berikut untuk memverifikasi apakah Daftar Tabel di pangkalan data tertentu telah dihapus kolom yang berpotensi dipengaruhi oleh masalah ini.

Catatan Apabila skrip tidak gulung balik setiap baris, yang berarti bahwa masalah ini saat ini berlaku untuk setiap Daftar Tabel di sistem Anda.
SELECT DISTINCT OBJECT_NAME(sp.[object_id]) AS TableWithDroppedColsFROM sys.system_internals_partition_columns sipc1 WITH (NOLOCK)INNER JOIN sys.system_internals_partition_columns sipc2 WITH (NOLOCK)       ON sipc1.[partition_id] = sipc2.[partition_id] AND              sipc1.leaf_offset = sipc2.leaf_offset AND              sipc1.leaf_offset < 0 AND               sipc1.is_dropped < sipc2.is_droppedINNER JOIN sys.partitions sp WITH (NOLOCK) ON sipc1.[partition_id] = sp.[partition_id];

Penting Skrip ini harus digunakan hanya untuk tujuan dan cakupan artikel ini.
Status
Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 3120595 - Tinjauan Terakhir: 05/31/2016 08:52:00 - Revisi: 11.0

Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3120595 KbMtid
Tanggapan