• 2 options come to mind.

    1 - Have the proc update a progress table in the database, then query that table every few minutes to update the progress bar.

    2 - Split the work into multiple stored procs. Have the program call each of the stored procs and in between calls you can update the progress meter.