游标中定义nvarchar(max)字符拼接超过8000的问题请教

业务场景:要用mssql查出符合条件的记录,然后用字符串拼装html,字符拼接超过8000个后,后面的字符不显示的问题

问题说明:如下 @body nvarchar(max),由于 #temp 记录较多,发现    select  @body 并未显示查询所有记录,存在有符合条件的记录未显示

请问如何优化下?能够在拼接的字符串中,将所有符合条件的记录组合在一起?
        DECLARE @REMARK nvarchar(max),@Message nvarchar(max);
        DECLARE C_HTMessages CURSOR FAST_FORWARD FOR
        select remark from #temp ;
        OPEN C_HTMessages;
        FETCH NEXT FROM C_HTMessages INTO @remark;
        WHILE @@FETCH_STATUS=0
        BEGIN
            set @Message=ISNULL(@Message,'')+isnull(@remark,'');--可能是这里截断的
            FETCH NEXT FROM C_HTMessages INTO  @remark ;
        END
        CLOSE C_HTMessages;
        DEALLOCATE C_HTMessages;
        set @body= @Beginbody + @Message + @Endbody 
        select  @body