When you created the DSN using the ODBC Data Source Administrator (make sure you created a System DSN ) which is in the Control Panel under Administrative Tools. Did you get a successful test? If you did, then you could be having issues with the fact that your script is not running with the same credentials as you. Because NTLM is used by default you can do a $dbh=DBI->connect( 'dbi:ODBC:DSN_Name' ) or die $!. Your dba has to set up a seperate account for remote logins. They may give you a hassel about it, but I remember running into a similar problem once and NTLM was the issue. If however, you tested the DSN and it fails, then it is not MSSQL Server, but your network ( make sure the ports are open, a lot of firewall teams block everything now days ). Also, make sure your dba gives you the right group permissions for all the databases you want to access. You can google for tutorials. They abound for using DBI and setting up DSN and DSN-less connections.