Friday, February 24, 2012

Error 3: the system cannot find the specified path

Installed SQL Server 2000 Enterprise trial a week ago on XP Pro. Installed new Seagate 80G HD; used Seagate's utility to copy old C: to new drive as new boot drive. All seems to work fine, except, when booting up, SQL server doesn't start. When I try to start it manually I get the following:

Could not start SQLSERVER service on the local computer. Error 3: the system cannot find the specified path.

1. What could be wrong?

2. How do I fix it?

If you are starting via the service, look at services.msc and see what path is pointed to for sqlservr.exe. Check if the file exists at this location. Is this error coming from SQL Server or the OS?

|||

I saw nothing in services.msc relating to sql. In fact, the file is dated 8/4/2004. I didn't install SQL until about a week ago. [[NOTE, FYI: I also posted this question in the 'SQL Server Data Access' forum, but no solution there yet, either]]. If I try to manually start SQL Server, the first message just states it's unable to find the path specified. When I click OK, the next message title bar reads 'SQL Server Service Manager', and the message reads, "An error 3 - (The system cannot find the path specified.

) occured while performing this service operation on the MSSQLServer service."

If you're referring to the properties in Services, MSSQLServer, properties, the path is "C:\PROGRA~1\MICROS~4\MSSQL\binn\sqlservr.exe"

If I navigate to C:\Program Files\Microsoft SQL Server\MSSQL\Binn, I can double-click sqlservr.exe and a dos window opens up, etc., but it doesn' t seem to do anything related to the icon in my status bar, which still shows not started. If I enter the ..~ path above into the command prompt, I get the same "The system cannot find the path specified". Looks like I need to change the path to mssql server, but how do I do that?

|||

Services.msc is the MMC Services extension. It is an dll that will be loaded and run by MMC.

Change to that path in a cmd.exe window, and run sqlservr.exe -c. It should log to the console and ERRORLOG the error message. You can also try to track the file is searching for with filemon (www.sysinternals.com tool).

|||

SQLServer need somewehree a starting point, there for the path to the master mdf is coded in the registry with the appropiate start parameter. The service gathers this information at start up to find the "valid mointing point" for the master database. The key normally is located on the node

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\Parameters

Changing this is sort of critical, so you better save your registry key first to restore it, if something unexpectly happens.

HTH, Jens Suessmeyer.


http://www.sqlserver2005.de


||| Actually, I found that yesterday; changed two path settings in the registry, and that fixed it. Apparently, when I duplicated the hard drive, it somehow used the DOS ~ naming conventions. Once I changed back to the named path, all seemed to work fine. Thanks to all who replied to my question.|||

I just ran into the same problem after I migrate (duplicate) the server to another server. I checked the properties under service of mssqlserver and it displayed the shortname. I went into the registry and made modification to a few places under HKLM\system\currentcontrolset....\service\mssqlserver and changed the imagepath parameter to point to the proper long name E:\progam files\microsoft sql server\mssql\binn\sqlsrver.exe. Then I was able to start SQL Server. The properties of SQLserver agent is using the long name so it does not have a problem.

I don't understand why it did not work. I checked the old server and it was using the short name and it worked. I checked some other SQL servers and they all displayed the short name and they have no problem. I thought the system should be able to recognize the short name automatically.

It seems that this problem is only happening on this server.

Any idea?

Thanks.

No comments:

Post a Comment