Операторът +=се прилага само за числови типове данни в SQL Server. Документация на Microsoft тук
За конкатенация на низ трябва да напишете присвояването и конкатенацията отделно.
DECLARE @sql nvarchar(max);
SELECT @sql = N'';
SELECT @sql = @sql + [definition] + N'
GO
'
FROM sys.sql_modules
WHERE OBJECT_NAME(object_id) LIKE 'dt%'
ORDER BY OBJECT_NAME(object_id);
PRINT @sql;
Освен това, ако изпълнявате тази заявка в Management Studio, имайте предвид, че има ограничение за размера на данните, които тя ще върне (включително в израз за печат). Така че, ако дефинициите на вашите модули надхвърлят това ограничение, те ще бъдат съкратени в изхода.