I’m running MS SQL Server 2005, Express Edition, SP3 on Windows XP. Local connections only.
In preparation to restore a database, I use IWSQLDMOServer::KillProcesses() to allow the database restore. (IWSQLSMOResore::SQLRestore()) The restore is successful and I appear to be able to connect OK. (No error indication on the connect) However, the first time I try to use the database via an ExecuteQuery() the call fails and the connection state is changed to Closed. I also get the “Transport-level error has occurred...No Process is on the other end of the pipe” exception.
Closing and restarting the application fixes the problem.
Also, disconnecting and reconnecting twice before the ExecuteQuery() call also fixes the problem.
So, I can hide the problem by connecting twice, but I am hoping there is a better solution.
Walter Eykel