One quick note about your statment:
using DBI::Proxy on both sides,
You don't actually use DBI::Proxy on both sides. You use
DBD::ProxyServer on the MS SQL side and DBD::Proxy on the
client side. DBD::ProxyServer runs in a daemon (or service,
whatever your OS calls it) and uses another DBD driver
(usually DBD::ODBC, but can be any DBD) to connect to the
back-end database.
If you have (or can get) Programming the Perl DBI by
Alligator Descartes and Tim Bunce it covers
setting up a DBD/DBI proxying in some detail.