🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / MSSQL RMOS / String or binary data would be truncated hatası çözme

1-) MSSQL RMOS - String or binary data would be truncated hatası çözme

 

 

nvarchar 3500 den düşük tüm tablolardaki tüm columnları 3500 yapar.

Aşağıdaki script tüm tabloları gezer, nvarchar kolonları bulur ve
max length < 3500 ise → 3500 yapar
(
nvarchar(max) olanlara dokunmaz).

Direkt çalıştırabilirsin 👇

 

 

DECLARE @sql NVARCHAR(MAX) = ''

 

SELECT @sql += '

ALTER TABLE [' + s.name + '].[' + t.name + ']

ALTER COLUMN [' + c.name + '] NVARCHAR(3500) ' +

CASE

    WHEN c.is_nullable = 1 THEN 'NULL'

    ELSE 'NOT NULL'

END + ';

'

FROM sys.columns c

INNER JOIN sys.tables t ON c.object_id = t.object_id

INNER JOIN sys.schemas s ON t.schema_id = s.schema_id

WHERE c.system_type_id = 231 -- nvarchar

  AND c.max_length <> -1     -- nvarchar(max) hariç

  AND (c.max_length / 2) < 3500  -- zaten büyük olanlara dokunma

 

PRINT @sql

-- kontrol et, sonra çalıştır:

-- EXEC sp_executesql @sql

 

 

 2026 Mart 17 Salı
 72