As you might know, SQLCMD is a command line utility which can be used to connect to SQL Server and run scripts/queries. While trying to run SQLCMD, I ran into below SQLCMD error.
Failed to load resource file SQLCMD.rll. The system cannot find the file specified.
Here was the error from the command line.
The error is clear that SQLCMD uses SQLCMD.RLL file and it looks like the file is missing.
WORKAROUND/SOLUTION
Whenever I run into issues like this, I always rely on Process Monitor.
I have applied filter for SQLCMD.EXE in Process Name so that we can see operations related to SQLCMD process only. Since we know its SQLCMD.rll file, I have highlighted them. As we can see Result the Result column shows “NO SUCH FILE” this confirmed the missing file. Now, we know the Path which it was looking for.
When I checked, I found that RLL file was not there in the paths mentioned. May be something went wrong with the VM.
Where to download SQLCMD now? It’s a part of SQL Server Feature Pack download which has lot of other tools / utilities available. Since I was using SQL Server 2016, I download the same version feature pack
Microsoft® SQL Server® 2016 Service Pack 1 Feature Pack
Once you visit the link, there are many installers. SQLCMD is part of MsSqlCmdLnUtils.msi. Once I downloaded and installed it, I got the files back and things started working.
Reference: Pinal Dave (https://blog.sqlauthority.com)
2 Comments. Leave new
Thank you for making my day easy!
Thank you for taking me back to basics and checking Process Monitor before jumping to wild and complicated conclusions.
Solved problem quickly