If I remember correctly, I think both of mine were sleeping all night by then, but would get up very early to potty.
The answer to getting him to sleep all night is: EXERCISE! That's the only way! Ya have to wear them out. A tired puppy will sleep. He's probably sleeping a lot during the day and isn't getting as much exercise as you think. Take a nice looooooooong walk if you can.