An unwanted surprise when changing the SQL Server 2005 Service Account

When changing the Microsoft SQL Server 2005 Service Account you might get back this rather alarming error message box:

WMI Provider Error
The process terminated unexpectedly. [0x8007042b]

This is related to the problem documented in Books On Line on the page titled: ‘Start and Restarting Services’ (accessible in the index as ‘starting SQL Server’).  I quote from the paragraph that describes the problem:

“If SQL Server 2005 is shut down with open shared memory or a named pipe connection and is then restarted with the credentials of a different user, it may fail to start. This is normal behavior for connection handles controlled by the operating system. To restart SQL Server, end all SQL Server client processes manually or by restarting the computer. Possible errors include “Server shared memory provider failed to initialize. Error: 0x5” and “Server named pipe provider failed to listen on [ \\.\pipe\sql\query ]. Error: 0x5” (The pipe name may vary.)”

The problem described in the paragraph above manifests itself as the ‘The process terminated unexpectedly. [0x8007042b]’ error message box when using the SQL Configuration Manager to change the SQL Server (Engine) Service Account.  The workaround, as stated, is to close all client processes (connecting to the named pipe) or reboot the server. 

The problem is caused by an Operating System limitation which has been removed in Windows Vista.  In Windows Vista a change has been made to allow the tear down of a named pipe listener when only the server side connections are closed.  In Windows 2003 and earlier, there is a requirement to close down the client side connections as well, and this requirement prevents sqlservr.exe from creating a new properly ACLed named piper listener when the service is restarted with new Service Account credentials.

I hope you will find this post using your favorite search engine should you be panicked by this error message in the wild.  I will also push to get a KB article written with this information in it.

Comments (9)

  1. Jeff Parker says:

    Hmm, interesting. Out of curriosity and it is also maybe too early to answer. But what happens to all those pipe from the client if the server just tears it down in vista. I am thinking more of like a webserver sitting there using connection pooling and all of a sudden those pipes get destroyed on the sql server, but does the client still sit there thinking it has all these pools open?

  2. Sam Jones says:

    Hey I saw your post that was pulled.  When will MS allow you to put it back up?  

    I am very interested in what you are working on.  Please post.

  3. ... says:

    mmm.. nice design, I must say..

  4. ... says:

    Du musst ein Fachmann sein – wirklich guter Aufstellungsort, den du hast!

  5. ... says:

    luogo grande:) nessun osservazioni!

  6. ... says:

    Chi ha fatto questo? E un buon posto per trovare le informazioni importanti!:)

  7. raul says:

    Thanks for this post.  It was exactly what I needed to resolve my problem. 😛

  8. us says:

    Hey Stuart, The solution provide by you is working… you have saved my full day..i am mstruglling since last two days two solve this problem….thnx a lot!