Der Operator +=gilt nur für numerische Datentypen in SQL Server. Microsoft-Dokumentation hier
Für die Zeichenfolgenverkettung müssen Sie die Zuweisung und die Verkettung separat schreiben.
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;
Wenn Sie diese Abfrage in Management Studio ausführen, denken Sie außerdem daran, dass die Größe der zurückgegebenen Daten begrenzt ist (einschließlich in einer Druckanweisung). Wenn also die Definitionen Ihrer Module diese Grenze überschreiten, werden sie in der Ausgabe abgeschnitten.