Saya memiliki masalah yang sama, bahkan setelah meningkatkan ukuran kolom bermasalah di tabel.
tl; dr: Panjang kolom yang cocok dalam Jenis Tabel yang sesuai mungkin juga perlu ditingkatkan.
Dalam kasus saya, kesalahan berasal dari layanan Ekspor Data di Microsoft Dynamics CRM, yang memungkinkan data CRM disinkronkan ke SQL Server DB atau Azure SQL DB.
Setelah penyelidikan panjang, saya menyimpulkan bahwa layanan Ekspor Data harus menggunakan Parameter Table-Valued :
Anda dapat menggunakan parameter bernilai tabel untuk mengirim beberapa baris data ke pernyataan Transact-SQL atau rutin, seperti prosedur atau fungsi tersimpan, tanpa membuat tabel sementara atau banyak parameter.
Seperti yang Anda lihat dalam dokumentasi di atas, Jenis Tabel digunakan untuk membuat prosedur konsumsi data:
CREATE TYPE LocationTableType AS TABLE (...);
CREATE PROCEDURE dbo.usp_InsertProductionLocation
@TVP LocationTableType READONLY
Sayangnya, tidak ada cara untuk mengubah Jenis Tabel, sehingga harus dihapus & dibuat ulang seluruhnya. Karena tabel saya memiliki lebih dari 300 bidang (😱), saya membuat kueri untuk memfasilitasi pembuatan Jenis Tabel yang sesuai berdasarkan definisi kolom tabel (hanya ganti [table_name]dengan nama tabel Anda):
SELECT 'CREATE TYPE [table_name]Type AS TABLE (' + STRING_AGG(CAST(field AS VARCHAR(max)), ',' + CHAR(10)) + ');' AS create_type
FROM (
SELECT TOP 5000 COLUMN_NAME + ' ' + DATA_TYPE
+ IIF(CHARACTER_MAXIMUM_LENGTH IS NULL, '', CONCAT('(', IIF(CHARACTER_MAXIMUM_LENGTH = -1, 'max', CONCAT(CHARACTER_MAXIMUM_LENGTH,'')), ')'))
+ IIF(DATA_TYPE = 'decimal', CONCAT('(', NUMERIC_PRECISION, ',', NUMERIC_SCALE, ')'), '')
AS field
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '[table_name]'
ORDER BY ORDINAL_POSITION) AS T;
Setelah memperbarui Jenis Tabel, layanan Ekspor Data mulai berfungsi dengan baik sekali lagi! :)