Sometimes I get a chance to work on something which I have not worked earlier but I give my 100% before I give up. This gives me chance to learn something new and every time I get a new topic to write a blog. In this blog, we would learn about fixing “The filename, directory name, or volume label syntax is incorrect” error while starting SQL Server Analysis Services. Here is the exact message from system event log while trying to start the services using configuration manager.
Log Name: Application Source: MSSQLServerOLAPService Date: 7/2/2018 7:50:33 AM Event ID: 0 Task Category: (289) Level: Error Keywords: Classic User: N/A Computer: SQLAUTHVM1 Description: The service cannot be started: The following error occurred during a file operation: The filename, directory name, or volume label syntax is incorrect. (\\?\E:).
Here is the exact event which can be seen in the event viewer.
Notice the path at the end – its “\\?\E:”.
The machine had a drive E:\ so I don’t think that was an issue, but it was a root of the drive, which is unusual. So, I went a step further and copied the command (“Path to Executable” in “Services.msc”) for this service.
“C:\Program Files\Microsoft SQL Server\MSAS14.MSSQLSERVER\OLAP\bin\msmdsrv.exe” -s “C:\Program Files\Microsoft SQL Server\MSAS14.MSSQLSERVER\OLAP\Config”
As expected, I got the same error from command prompt also.
When I investigated folder “C:\Program Files\Microsoft SQL’ Server\MSAS14.MSSQLSERVER\OLAP\Config” which is picked earlier from services.msc, I found a file “msmdsrv.ini”
As I started asking more about this issue, one of the DBA said that they wanted to move the databases to E drive. So, DBA modified msmdsrv.ini and mentioned E drive there. I guess that was the issue.
Below are the bad settings.
We changed it to a folder on E drive. E:\OLAPDATA and modified settings.
After this, we were able to start the services. It looks like windows doesn’t allow anyone to write on the root of the drive which is totally fine. I was expecting Access is denied error rather than a confusing error. As they say – All’s well that ends well.
Pinal Dave (https://blog.sqlauthority.com)