Problem
During a export of a large archive and the MSMQ size is at default, this can cause the Storage Service and Task Controller services to fail with the Events below:
Error Message
Event Type: Error
Event Source: Enterprise Vault
Event Category: Storage Restore
Event ID: 6197
Computer: EVSERVER
Description:
Error occurred when sending a message
There are insufficient resources to perform this operation. [0xc00e0027]
V-437-6197
Event Type: Warning
Event Source: Enterprise Vault
Event Category: Admin Service
Event ID: 4151
Computer: EVSERVER
Description:
The Enterprise Vault Storage Service service failed to respond to the STOP request in a timely manner.
This may be due to the service getting insufficient CPU time; check subsequent event log entries for a "successfully stopped" message. If the service is still running, manually stop the service and check the event log for any errors logged by the service.
V-437-4151
Event Type: Error
Event Source: Enterprise Vault
Event Category: Storage Restore
Event ID: 6280
Computer: EVSERVER
Description:
Error adding Saveset to Spool queue
Reason: Unspecified error [0x80004005]
V-437-6280
Cause
In Windows 2003 SP1 and higher the MSMQ size by default is 1 Gb. In a very busy environment, this storage limit is too small.
Solution
Confirm the following registry keys are in place. Otherwise add them.
Warning: Incorrect use of the Windows registry editor may prevent the operating system from functioning properly. Great care should be taken when making changes to a Windows registry. Registry modifications should only be carried-out by persons experienced in the use of the registry editor application. It is recommended that a complete backup of the registry and workstation be made prior to making any registry changes.
[HKEY_LOCAL_MACHINE\SOFTWARE\KVS\Enterprise Vault\Storage]
MaxMSMQMessageSize=dword:00380000
HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters\
KernelMemThreshold dword:0000005f
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
PagedPoolSize=dword:ffffffff
PoolUsageMaximum=dword:0000003c
SystemPages=dword:0
Please note: This registry change requires a server reboot.
1. Increase the MSMQ size in a single server:
a) Windows 2003
- Open the Computer Manager "start - run - compmgmt.msc"
- Go to "Services and Applications" then "Message Queuing" right click and properties.
- In general you will find a value of "1048576 KB" = 1GB, change it for "8388608 KB" = 8GB (assuming you have 8GB free on the MSMQ drive, if not change it for less size like 4 GB).
- Restart the "Message Queuing" service and start the "Storage Service and Task Controller".
- After making those changes the services would start fine and the MSMQ start processing again.
2. How to change the MSMQ size in a cluster:
There is no user interface to set the storate limits if MSMQ has been installed in workgroup mode, and it is necessary to edit the registry and change MachineQuota.
Here is an example of setting the storage limit for the clustered MSMQ resource called 'MSMQ Service':
- Run REGEDIT.EXE
- Navigate to HKey_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Clustered QMs\MSMQ$MSMQ Service\Parameters\MachineCache
- Double-click the MachineQuota registry value
- Change the 'Value data' to the required storage limit
- Press OK
- Run REGEDIT.EXE
- Navigate to HKey_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\MachineCache
- Double-click the MachineQuota registry value
- Change the 'Value data' to the required storage limit
- Press OK
Note that the service will need to be restarted for any changes to take effect.