Single Instance Storage Keeps Your Server Lean
If someone sends 1,000 users a 1 MB attachment, does Exchange create 1,000 copies of the attachment?
by Ben Schorr and Jim McBee
Posted February 12, 2004
This question is sort of theoretical. I'm trying to understand how Exchange's storage system works. If a user on my network sends a 1MB attachment to 1,000 users on my server, it doesn't save 1,000 copies of the attachment, right? But what if one of those users changes the attachment and saves the changes in the e-mail? Those changes don't appear for all 1,000 users, so that user must have his or her own copy of the message, right? I'm very confused, please help!
Torry, Lancaster, PA
Ben: Let me confuse you a little more, Torry, you're right on both counts!
Jim: When the message originally goes out, only one copy of the message is stored and all 1,000 users just get pointers to that single message. That's called "Single Instance Storage," and it has been a feature of Exchange since version 4.0. On the first point you're absolutely right.
Ben: You're right on the second point, too. The user does have his own copy of the message … as soon as he modifies and saves the message. By modifying the attachment he effectively modifies the message, and when he saves it a unique copy of the message is created in his mailbox.
Jim: If every user modified the attachment and saved it, you'd have 1,000 unique copies of the message in your server; including 1,000 copies of the attachment. So, you see, you were right on the second point as well!
Ben: You can use the Performance management console to check the single instance ratio. Each mailbox store has a Single Instance Ratio counter. This is shown in Figure 1.
Jim: Don't expect great things from the Single Instance Ratio. They often can start out as high as 6:1 but usually work their way down below 2:1. I consider anything above 1.5:1 to be good.
Ben: How does it feel to be right so often? No, really, we'd like to know.
At long last I've been given the go-ahead to move the last of our Exchange 5.5 mailboxes to our Exchange 2000 server. When I try to move them, however, I get a MAPI error that reads "The information store could not be opened. The logon to the Microsoft Exchange Server computer failed." I am logged in with system administrator privileges. Why is the logon failing?
Marc, San Francisco
Jim: There are a couple of possibilities, but I suspect that your Exchange 5.5 server is also doing duty as your global catalog (GC) server for your domain. If that's the case then the solution is simply to change, at least temporarily, which server is your GC.
Ben: You can designate any domain controller in the domain to be the GC. If you don't have any other domain controllersand you really should for reliability and redundancybring up a new Windows 2000 Server as a domain controller. If you already have another domain controller you can simply designate that server as the GC. To do that, go to Active Directory Sites and Servers. Then you'll want to go to Sites\Sitename\Servers\Servername\NTDS settings; where "servername" is the name of the server that you want to be the new GC server.
Jim: NTDS settings is the section where you can do a lot of things relating to your domain organization, including reassigning the Global Catalog role. You'll want to right-click on the NTDS Settings setting and choose "Properties." On the General tab you'll find a checkbox that says "Global Catalog." Check that box then go get something to eat or drink. You'll want to let the server have time for the Active Directory schema to be completely replicated to this new GC server.
Ben: After you've had a nice meal or an over-priced latte and are confident that the replication has completed, you can go to your existing GC (which is your Exchange 5.5 server if our theory is correct) and go through the same steps except you're going to clear the Global Catalog checkbox. Once that's done, restart the Exchange 5.5 server and give your mailbox move another try.
Back to top