U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Het bericht 'Tekenreeks- of binaire gegevens worden afgekapt' begrijpen.

0000003146     -      29-03-2023

Tijdens databasebewerkingen kan SQL Server het volgende bericht retourneren:
"String- of binaire gegevens worden afgekapt."
("String or binary data would be truncated.")

Dit komt omdat de gebruiker een string probeert op te slaan met een bepaald aantal tekens en het aantal tekens is groter dan het aantal beschikbare tekens.
bv.: probeer "1234567890" op te slaan in de postcode van een klantenbestand dat slechts 9 karakters accepteert.

De onderstaande manipulatie maakt het mogelijk om een uitgebreidere boodschap te hebben.

Voer op de SQL-server deze opdracht uit:

DBCC TRACEON(460,-1)

Dit zal dan toestaan om een bericht van het type te hebben:
"String- of binaire gegevens worden afgekapt in tabel 'MERCATORDEMOERP.dbo.CLI', kolom 'C_CODEP'. Afgekapte waarde: '123456789'."
("String or binary data would be truncated in table 'MERCATORDEMOERP.dbo.CLI', column 'C_CODEP'. Truncated value: '123456789'.")

Om deze mogelijkheid te deactiveren, moet u dit uitvoeren:

DBCC TRACEOFF(460,-1)

De « trace » wordt automatisch uitgeschakeld wanneer de SQL-server opnieuw wordt opgestart. 

Waarschuwing, dit is alleen beschikbaar voor bepaalde versies van SQL Server.

Opgehaald van https://learn.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-traceon-trace-flags-transact-sql?view=sql-server-ver16 :
Replaces data truncation message ID 8152 with message ID 2628. For more information, see KB4468101.
Starting with SQL Server 2019 (15.x), to accomplish this at the database level, see the VERBOSE_TRUNCATION_WARNINGS option in ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).
Note: This trace flag applies to SQL Server 2016 (13.x) Service Pack 2 CU 6, SQL Server 2017 (14.x) CU 12, and later.
Note: Starting with database compatibility level 150, message ID 2628 is the default and this trace flag has no effect.
Scope: Global or session.