Receive "JET_errInvalidParameter; Invalid API parameter" when running eseutil on a non-Exchange server

Dear experts,

1. An Exchange 2003 server (Enterprise ed. with SP1) running on Windows server 2003 std (no SP applied) had a problem with one of the 2 storage groups. The problematic storage group dismounted without warning and could no longer be mounted. Because the databases are huge, we decided to proceed both ways: 1) do restore from an online backup and 2) try to salvage with eseutil just in case the backup is no good.

2. Because there was another storage group working just fine on the production server, we deciede to copy the very huge edb, stm, and log files over to another place for recover, so as not the interfere with the production server. At the same time, the latest backup tape was inserted for restore operation.

3. The server on which we were doing eseutil is not an Exchange server (but also a Windows server 2003 std). We followed MS KB Q244525. But even so, no matter how we tweak the syntax, we keep receiving:

Operation terminated with error -1003
(JET_errInvalidParameter; Invalid API parameter) after 0.47 seconds

This happens whether we run eseutil /r or eseutil /p. The funny thing is, I believe it actually had started the recovery/repair, in that it could identify the edb, stm, log files. But it always terminated with the stated error.

4. We were not successful with the repair, and only stopped after restore from backup was successful (phew!).

5. We searched the web to see what we did wrong. We had done this before on an Exchange server, not on a non-Exchange server. I knew for certain it CAN be done.

6. Questions:
a. For disk space sake we had to copy it to a NAS, then map network drive from the "repair server" (non-Exchange) to it. Is that an issue?
b. The checkpoint file had gone missing. But I suppose it would not matter if we were doing hard repair?
c. The file path for log and database were different than the original (production). Doesn't matter does it?
d. Our syntax: eseutil /p e:\test\db\database1.edb /se:\test\db\database1.stm. Appreciate if anyone can correct us.

Many thanks ...

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

After shutting down the exchange services, did you delete the log files?  This is often the culprit to a newly restored database not mounting.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
dtviewAuthor Commented:
Actually, the restore from backup worked promptly. We didn't have to do anything, just mount the databases. Thanks for the information. We will take note next time (knock wood).

Just so that we don't get the wrong outcome next time, would really appreciate any comments on what we did wrong with eseutil (on non-Exchange server). Exchange being so monstrous, there are always new things to learn.

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.