SQLTeam.com | Weblogs | Forums

Missing DLL errors with newest SQL version (SSMS v18/SQL2019)

There are similar errors in the past (on this forum), but I suspect something else is happening here.

Although the trace file I have used for this is from SQL 2016, I also have SSMS v17 and v18 installed. When loading the trace file I get the following error in the ClearTrace window:

Files to process: 1  ( 1.9 MB )
Clearing Target Tables...
SMO Version: Microsoft.SqlServer.ConnectionInfoExtended, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
************************************************************
Processing: SampleSQL2016Trace.trc
************************************************************
Trace File Read Error in C:\Temp\SampleSQL2016Trace.trc (Exception has been thrown by the target of an invocation.)
Inner Exception: Exception has been thrown by the target of an invocation.
Inner Exception: Failed to initialize object as reader.
Inner Exception: Could not load file or assembly 'file:///C:\Program Files (x86)\Microsoft SQL Server\150\Tools\Binn\pfclnt.dll' or one of its dependencies. The system cannot find the file specified.
You can visit the support forum at http://forums.sqlteam.com/c/cleartrace
Done.

This is correct, the DLL is missing (even though I have the relevant Profiler versions installed), this is because the DLL can now be found at a different path, namely

C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\PFCLNT.DLL

I tried to solve the issue by copying that DLL across to the presumed location, but it didn't work - so I suspect there's a dependency issue. I tried to figure that out with a DLL Dependency walker, but couldn't see anything obvious.

I found this. Does it help?

https://stackoverflow.com/questions/23873520/sql-server-profiler-could-not-load-pfclnt-dll

I think that link will probably be of help to the ClearTrace developers. If the project was open source, I might even have been able to have a go myself, sadly though, it's not. (Or if it is, I don't know where the repo is stored.)