sqlcmd to run large SQL file causes high CPU usage
If the sql script is 156 MB I suppose that you're doing data load using a single statement for each row.

Is that everything in one big batch (all statements one after the other without GO)? If yes, then SQL Server will try to parse that file all at once... on a file that big you're killing the CPU.

Suggestions:


can you split that file in more than one batch? so the parsing will be done batch after batch..
can you load the data from bcp files instead of sql file?