How much disk space do I need on my Exchange server?

The amount of disk space you need on a particular server depends on

  • What the server will be doing. For example, connector servers typically don't need much disk space, but public folder and mailbox servers need space proportionate to the number of messages they must hold.
  • How many users the server will host. As a general rule, the more users you have, the more disk space you need. Single-instance storage can help improve message storage efficiency.
  • How much disk space you want your users to have. Some organizations impose mailbox storage limits; others don't.

The easiest way to determine storage requirements is to first multiply how many users you want the server to host by the maximum disk space you'll allow each mailbox to hold. For example, if you're building a server for 250 users with a maximum mailbox size of 50MB, you need about 12.5GB (250 * 50MB = 12,500MB) just for the private Information Store (IS). Then, you need to factor in room for expansion. I recommend adding at least another 33 percent of space (12,500MB * 0.33 = 4125MB).

Finally, you need to add in space for the Isinteg and Eseutil repair utilities to do their magic. These utilities might require up to twice the private IS size (12,500MB x 2 = 25,000MB). Given these requirements, 250 users at 50MB each might lead you to build a 41GB store (12,500MB + 4125MB + 25,000MB = 41,625MB).

This method is a quick way to calculate the target size of the IS, but it doesn't include such factors as deleted-items retention and the effect of single-instance message storage. For a more comprehensive formula for estimating Exchange server disk space, see Tony Redmond, "Managing Mailbox Quotas," July 1998.

A friend told me that I can increase the security of my Exchange system if I use an Exchange server with no users or mailboxes as the Internet connection and point a second Exchange server with users and mailboxes to the first machine. Do you have any information about this setup?

This setup is a standard firewall technique. Under ordinary circumstances, your Exchange server's Internet Mail Service (IMS) uses port 25 to send and receive SMTP mail. If you want to exchange mail with Internet hosts, your Exchange server must have port 25 open to the Internet. Because Exchange mailbox servers tend to be high-value assets, many sites choose not to expose them directly to the Internet. One way to avoid direct exposure is to put an Exchange server that runs only the IMS outside the firewall and leave your mailbox server inside the firewall. However, the problem with this approach is that you might have to open other ports so that the two Exchange servers can talk through the firewall. In addition, if you configure another Exchange server, you need another Exchange license.

A better alternative is to use a SMTP service that Microsoft Internet Information Server (IIS) 4.0 provides. (IIS 4.0 is free with the Microsoft Windows NT 4.0 Option Pack.) This simple SMTP service accepts incoming mail and sends outgoing mail. If you install this service on a machine outside the firewall, you can configure your Exchange server's IMS to route all outgoing SMTP mail to the service and to accept incoming SMTP mail only from the IIS SMTP machine. No matter which configuration you use, I recommend using a good virus checker to protect your Exchange server from SMTP-borne viruses.

How can I customize the warning message that users receive when their mailbox exceeds the mailbox storage limits I set?

Currently, you can't customize warning messages. Because people often request this feature, Microsoft might provide a way to customize warning messages in Windows 2000 (Win2K)/Exchange 2000 Server (formerly code-named Platinum). As a workaround, you can use the Microsoft BackOffice Resource Kit's (BORK's) Crystal Reports tool to obtain a list of mailboxes that are over the limit, then use a script to automatically send your transgressing users a warning.

I want to let users update some of their Global Address List (GAL) data instead of having administrators perform this task. For example, I want to let users administer the Title section of their individual accounts. How can I use a Windows 9x machine to remotely administer an Exchange server?

Microsoft estimates that every year, 20 percent of a company's employees need to change their personal data in the GAL. Twenty percent is a significant amount of overhead if administrators must make these changes. Unfortunately, you can't use a Win9x machine to administer an Exchange server. The Microsoft Exchange Administrator application requires NT to run. However, several tools in the BORK let users update the GAL from a Win9X machine. I think the best tool in this situation is GAL Modify, which lets users modify whatever fields you give them access to without any help from you.

Where can I find additional administrative tools for Exchange Server 5.5?

Exchange Administrator is the only essential administrative tool because you must use Exchange Administrator to configure most of your Exchange server settings. Although you can control some settings through the Registry, most of what you need to know about your server you can learn only by running Exchange Administrator.

However, third-party tools can make your life easier. For example, an event-log monitoring tool such as Ipswitch Software's WhatsUp Gold lets you set up a system that automatically pages or emails you when an Exchange service registers an error in the system event log. A remote control tool such as Symantec's pcANYWHERE or Computer Associates' (CA's) ControlIT lets you remotely perform console-level tasks on your Exchange server. Although the third-party vendors designed most of these tools for the remote management of NT, the tools are also useful for managing Exchange servers.

At the enterprise level, you might find that tools such as BindView's bv-Control, the NetIQ AppManager Suite, or MessageWise InLook are more appropiate. These tools are more expensive than the remote-control tools, but in return they offer you better centralized management and monitoring capabilities, especially for networks where your servers are in different physical locations.

How can I find out how badly my Exchange database is fragmented? I want to know when I need to use Eseutil to perform offline defragmentation.

If you have Exchange Server 5.5, you don't need to perform offline defragmentation. Exchange Server 5.5's online defragmentation is much more efficient than that of Exchange Server 4.0 or 5.0—and running Exchange Server 5.5's online defragmentation is much safer than running Eseutil.

After you perform online defragmentation, you can check the event log for event ID 1221, which specifies how much white space your database contains. Although this measurement doesn't tell you how fragmented the database is, event ID 1221 tells you how much you can expand the store without allocating additional disk space.

Offline defragmentation is sometimes necessary to recover large amounts of space. For example, if you move mailboxes to a new server, you'll probably want to run Eseutil to recover space on the old mailbox server. You'll know when you've performed a task that frees up so much space that offline defragmentation is worthwhile. For more information about online and offline defragmentation, see my May 1999 and November 1998 columns.

Do I need to run Isinteg monthly to ensure that the database backup is OK?

The best way to monitor the health of your database is to regularly check the system event log for error or warning messages. The IS logs messages when it detects something amiss, and the NT Backup program (ntbackup.exe) performs a complete integrity check on each database page as part of its backup process. If you're performing online backups daily and watching the event log, you'll receive an early indication of any gross corruption problems. However, these low-level verification routines won't catch structural problems with the items in the database, which is why Microsoft ships Isinteg.

I don't recommend that you run Isinteg on your production server unless absolutely necessary because you must take your database offline to run Isinteg. Instead, try this approach: Each time you perform a full backup, restore the backup on a recovery server and run Isinteg on the recovery server. If you find a problem, you can then run Isinteg on your production server; if you don't find a problem, you won't have exposed your production users to any risks or slowdowns. An added bonus to this approach is that restoring the backup on the recovery server helps you gain skill and comfort with disaster-recovery procedures.

Can you tell me how I can use NT Performance Monitor to obtain an estimate of the number of messages that go through my Exchange server daily?

Performance Monitor has several interesting objects and counters you can monitor:

  • The Outbound Messages Total and Inbound Messages Total counters on the MSExchangeIMC object tell you how many incoming and outgoing messages your IMS has processed since it started. Similar counters measure message traffic per hour.
  • The MSExchangeIS Private object has counters that measure how many recipients on a server received messages (i.e., Message Recipients Delivered and Message Recipients Delivered/min), how many messages the server received (i.e., Messages Delivered and Messages Delivered/min), and how many messages the server sent (Messages Sent and Messages Sent/min).
  • The MSExchangeMTA object tracks the number of incoming and outgoing messages with the Inbound Messages Total and Outbound Messages Total counters. (These counters are available only on Exchange Server 5.5.)

Which counters you monitor depends on what you want to know. For example, the IMS counters tell you only how much Internet mail the IMS has processed.

Although you can use these counters, they provide only gross statistics that you then need to manipulate. An easier way to gather this data is to let a reporting tool, such as the BORK's Crystal Reports, do the work for you. With Crystal Reports, all you need to do is write a report template.

My Exchange server failed yesterday when the NT shell crashed. When I rebooted the server, the Exchange services restarted as usual. However, replication between that server's site and another site has now stopped, and the event log has many event ID 3093s. What's wrong?

To find out what's wrong with the replication process, you need to check the Message Transfer Agent (MTA) queues on both sites to see whether a message has gotten stuck and to verify the last time you had a successful replication. In regard to the event ID 3093 messages, the Microsoft article "XADM: 3093 PF Replication Error 0x8004010f Reading Property 0x67010003" ( support/kb/articles/q225/0/90.asp) explains why you're receiving them. The MSExchangeIS Public service generates the message Error 0x8004010f reading property 0x67010003 on object type tbtOwningFolders whenever the public folder replication process can't find the object it's looking for. However, the service logs these errors only when you set diagnostic logging to maximum for the Replication category of the public IS, so I suspect that's why you started seeing these errors after your crash. The article claims that most of these errors are harmless; if you think your errors aren't harmless, call Microsoft Product Support Services (PSS).

Is it true that the North American Aerospace Defense Command (NORAD) uses its space surveillance radar systems to track Santa Claus?

Absolutely. After all, NORAD spends a lot of US tax dollars to track and identify objects in space, ranging from spy satellites to nuts and bolts that have fallen off various types of spacecraft. It would be a pity not to use those capabilities to spread Christmas cheer. If you go to, you can follow the big guy's flight in realtime on Christmas Eve.