• this seems like a lot of effort and increased overhead on your SQL database, for something that can be handled much more efficiently at the transport layer

    If in your situation you can handle this much more efficiently at the transport layer, then you should. But if you can't (in a large organisation your empire as DBA may stop where your database ends, and you don't have control over the transport layer), then here is a cool idea for adding IP-based restrictions. YMMV.