Applies ToSQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

Gejala

Misalnya Anda menambahkan kolom ke tabel di Microsoft SQL Server 2012 atau SQL Server 2014. Saat ukuran baris mendekati ukuran maksimum yang diizinkan yaitu 8.060 byte, operasi penambahan mungkin memakan waktu lama.

Penyebab

Masalah ini terjadi karena, ketika ukuran Total baris mendekati ukuran maksimum baris yang diperbolehkan, SQL Server melakukan pemindaian penuh tabel untuk memastikan bahwa penambahan kolom baru tidak melanggar integritas data. Versi sebelum 2012 SQL Server tidak melakukan pemeriksaan ini, dan yang membuat bahasa definisi data (DDL) berjalan lebih cepat. Namun, perilaku ini menyebabkan kegagalan operasi berikutnya seperti memperbarui baris atau menyusut jika ukuran baris melebihi ukuran yang diperbolehkan.

Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:

Informasi Selengkapnya

  • Anda dapat mengaktifkan bendera pelacakan 647 dengan menggunakan parameter permulaan. Untuk informasi, lihat opsi permulaan layanan mesin database.

  • Anda bisa menjalankan kueri berikut (ganti nama <tabel> dengan nama tabel Anda yang sebenarnya) untuk menguji tabel tertentu sebelum operasi pada sistem produksi, dan rencanakan efek masalah ini. Jika hasilnya lebih besar dari 8.060, tabel Anda tunduk pada masalah ini. Selain itu, jika Anda telah menjatuhkan kolom, Anda harus mengubah tabel dengan opsi Rebuild. Menyusun ulang tabel bisa membuat kueri mengembalikan hasil yang benar.

    select  1+1+2 + 2 +  (case  when sum (case when leaf_offset < 0 then 1 else 0 end) > 0 then 2 else 0 end)  +  ( (count (*) + 7)/8 ) + count (case when leaf_offset < 0 then 1 else null end) * 2 +  sum( case when max_length=-1 then 24 else max_length end)  from sys.system_internals_partition_columns   col join sys.partitions par on col.partition_id = par.partition_id  where object_id = object_id ('<table name>')  and  index_id in (0,1) and partition_number =1 
  • Anda bisa mempertimbangkan menambahkan kolom panjang variabel atau kolom jarang ketika aplikasi Anda sering menambahkan kolom baru ke tabel. Ini adalah operasi metadata saja meskipun ukuran Total Semua kolom melebihi 8.060 byte.

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.