scp does detect whether it's got a controlling tty. If you run it as a foreground process it will show a progress bar, but if you background it, the progress bar disappears, so there are some internal checks going on. I would do as @peterph says and start the transfer in either a tmux or screen session. I'm not sure of the implications of using nohup, but just keep a controlling terminal active.
As the file is that big, if it's not compressed, I'd also add compression to the transfer with scp's -C option.
If it's a directory, and you've been retrying the same command quite often, you should probably use rsync, which first checks if files differ (with md5 checksums) before transferring them. You can also resume big file transfers with the --partial option.
rsync -avz --partial --progress --rsh=ssh Files-from-Server-A [...] user@B:/tmp/
nohup.outcreated by thenohupprogram? – peterph Feb 12 at 13:50