Why do I get an empty ODBC Driver Manager trace file when using a SQL Server linked server?

This happens because the account that SQL Server is running under does not have permission to write to files in the location specified in the Log File Path box in the ODBC Data Source Administrator.

The Microsoft OLE DB Provider for ODBC Drivers, which enables a linked server to connect to a database by using an ODBC driver, uses OLE DB to communicate with SQL Server and ODBC to communicate with the database. The Microsoft OLE DB Provider for ODBC Drivers is linked against the ODBC Driver Manager and can therefore generate an ODBC Driver Manager trace file.

If you attempt to generate an ODBC Driver Manager trace file in a location where SQL Server does not have permission to write to, you'll get an empty trace file. (You'll notice that your SQL statements take longer to complete, in keeping with having tracing enabled; the ODBC Driver Manager is logging your ODBC API calls even though you're not getting any output.)

To work around this, do one of the following: