+=演算子は、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 でこのクエリを実行している場合は、返されるデータのサイズ (print ステートメントを含む) に制限があることに注意してください。したがって、モジュールの定義がこの制限を超えると、出力で切り捨てられます。