An employee should not be able to iterate millions of records without first asking for temporary powers.
You set the scope by measuring the usual required, and putting in a procedure for when and how much various supervisors can expand it.
Different departments will have different needs.
This stuff is already built in to industry standard software like SAP.
Even if it's an admin that moves around a backup file from server a to server b, you don't allow anyone to bring in and connect USB drives. You don't allow personal laptops to access files (on that level - accessing a frontend is fine, see access limits) that leave the premises. That's not impractical, it's not extreme, it's just what you do when you handle very important data of millions of users.
Making sure nobody can access data wholesale is step one. You will fail at some point for some reason. Making sure no one can exfil large amounts of data is step two. If he wants to go James Bond on you and use a small camera to photograph his screen, good. Data leaks suck, but this way, it will affect a hundred people, not 2.9m.
Individually, none of the above would stop this kind of breach. Altogether, and it might be enough. You amply defense in depth