DBD::ODBC works very well for MS-SQL Server, at least on Windows. (See other replies for access from Unix). Allegedly, DBD::Sybase would work well to bypass ODBC, as MS-SQL Server is based on the (old) Sybase database. But I think I remember having heard to have its actual working for MS-SL Server is getting flakier.
p.s. I found this parapgraph in the DBD::Sybase docs: Using_DBD::Sybase_with_MS-SQL |