Saya memiliki prosedur tersimpan yang memasukkan 650 bidang ke dalam tabel. Sisipan gagal dengan kesalahan pemotongan.
Sederhana saja
INSERT INTO
SELECT (a bunch of fields)
FROM (a bunch of tables)
Di bawah ini adalah pesan kesalahan:
Msg 8152, Level 16, Negara 14, Prosedur DSP_Procedure, Line 1075 String atau data biner akan terpotong.
Apakah ada cara cepat untuk mengidentifikasi bidang apa yang menyebabkan kesalahan pemotongan?
Fakta bahwa pernyataan pilih yang akan dimasukkan ke dalam tabel memiliki 650 bidang membuatnya sulit untuk menentukan bidang mana yang menyebabkan kesalahan pemotongan.
Saya pikir saya mungkin dapat mengomentari blok bidang pada suatu waktu sehingga hanya memiliki SP memasukkan 100 bidang pada suatu waktu dan kemudian menjalankan SP 6 atau 7 waktu yang berbeda sampai saya setidaknya dapat mempersempit ke sekelompok 100 bidang yang akan berisi bidang yang menyebabkan kesalahan pemotongan.
Atau saya berpikir bahwa mungkin saya bisa hanya SELECT INTO
tabel baru dan kemudian membandingkan panjang data dalam tabel vs panjang data tabel target yang saya coba masukkan ke dalam SP saya untuk melihat bidang mana yang berisi panjang bidang lebih panjang dari yang diharapkan. ..
Saya menggunakan SQL Server 2014.
Adakah alternatif yang lebih mudah?