my ms exchange is not running.

when i try to start ms exchange directory service, this message appears:
error 2140: an internal windows nt error occurred.

what must i do? must i reinstall exchange?
Who is Participating?
Try this troubleshooter, and see if it works:

This t-shoots the 2140 error
1) Run CHKDSK to verify that there are no problems on the hard disk drive.
2) Check permissions on the EXCHSRVR\DSADATA directory. The Microsoft Exchange Service
   Account must have Full access to this directory.
3) Verify that you are not receiving virtual memory errors when booting the computer.
   The following error may be displayed on startup.
      Limited Virtual Memory
      Your system is running without a properly sized paging file.
      Please use the virtual memory option of the System applet in the
      Control Panel to create a paging file, or to increase the initial
      size of your paging file.
For more information about resolving the virtual memory problem, please see the
following articles in the Microsoft Knowledge Base:
   ARTICLE-ID: Q140472
   TITLE: PRB: Limited Virtual Memory Error When Starting Windows NT
   ARTICLE-ID: Q130016
   TITLE: Removing Everyone On Root Dir. Leaves Limited Virtual Memory
   ARTICLE-ID: Q105058
   TITLE: Err Msg: "Limited Virtual Memory" w/ Temporary Paging File
This is an excerpt from Q166335. You can obtain KB articles by sending mail to with article numbers in subject (comma separated).
gohhkAuthor Commented:
1) tried but to no avail
2) cannot solve
3) no virtual memory error
If you try to start DS manually, do you get an error with rundll32.exe? If yes: Q126962.
If no: stop SA in CP and run eseutil.exe against dir.edb. There is not much documentation, so I'll paste some:
Offline Defragmentation Tool
The Offline Defragmentation Tool (Eseutil.exe) allows you to perform database consistency checks, defragmentation, and failure correction at the JET level while the DS and the IS services are stopped. If the services have not been stopped before you try to launch the Eseutil.exe tool, the error code -1032 will be returned. Eseutil.exe is a command line utility that is installed along with Exchange Server and can be found in the \Winnt\System32 directory.

Eseutil (formerly known as Edbutil) is a generic JET tool that reorders the items stored in the databases to free unused storage space. In contrast, the online defragmentation does not reduce the size of the databases; rather, it reorders only the deleted objects and marks their space in the database file as available. You must use the Offline Defragmentation Tool if you want to reduce the physical size of the database files (Dir.edb, Priv.edb, and Pub.edb). (See Figure 15-5.)

Database Inconsistencies
The Offline Defragmentation Tool provides a /G command line parameter, which can be used to verify the integrity of a database. However, recovery operations are not performed with this option. The Integrity mode returns an error only if the databases are not in an accurate state.

Let's say a user reports that unread items are indicated as being in the Inbox although no visible messages reside in this folder at the moment. To verify whether a problem exists, you can use the Offline Defragmentation Tool to check whether the Private Information Store is in an inconsistent state. The Offline Defragmentation Tool checks the integrity for the Directory, the Private Information Store, and the Public Information Store. You can identify a particular database by using either the path and file name of the database explicitly (for example, Eseutil /G C:\Exchrvr\Dsadata\Dir.edb) or by using the predefined switches /ISPRIV, /ISPUB or /DS (for example, Eseutil /G /DS). The parameter /ISPRIV is a shortcut for the Private Information Store, /ISPUB refers to the Public Information Store, and /DS identifies the Directory. The location of the corresponding database file is obtained from the Registry.

Database Recovery
If you discover a corrupted database, you can use the Offline Defragmentation Tool to fix the problem. However, it is recommended that you first reboot the Exchange Server because online maintenance routines, which are launched during the server shutdown and startup, might automatically correct the inconsistency. You should also perform a full backup at this point, just to be prepared in case Eseutil acts differently than expected!

If you must launch the Recovery mode, however, you can do so using the /R command line parameter. Using this option, Eseutil works the following way: a new database file is created and the Offline Defragmentation Tool then iterates through the old database to find inconsistencies and corruption. Valid items are written immediately to the new database file, while corrupted items are corrected prior to the transfer. Items that cannot be fixed are excluded from the transfer and can therefore no longer be found in the new database.

It is important to note that during the recovery process a second copy of the database is generated, so you should check in advance whether the server offers enough free disk space to accomplish the recovery operation. If it does not, you can copy the database to another location before you start the Offline Defragmentation Tool. As mentioned previously, the actual location of the old database file can be specified as a command line parameter.


You should use the Recovery mode of the Offline Defragmentation Tool only if rebooting the server does not correct the problem and if you do not have a recent backup. Running the Recovery mode may lead to lost user data. Also important is that you check whether enough disk space is available to complete the operation.

Hope, it helps
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.