Microsoft KB Archive/138442

= ACC95: How Replication Increases Size of Database =

Article ID: 138442

Article Last Modified on 11/17/2000

-

APPLIES TO


 * Microsoft Access 95 Standard Edition

-



This article was previously published under Q138442



SUMMARY
Advanced: Requires expert coding, interoperability, and multiuser skills.

Replication of a database increases the size of the database. When you replicate a database, Microsoft Access implements the following changes:


 * It adds three new fields to each existing table in your database: a unique identifier, a generation indicator, and a lineage indicator.
 * It adds new system tables to your database: mSysSidetables, MsysErrors, MSysSchemaProb, and MsysExchangeLog.
 * It adds new properties to your database.
 * It changes the behavior of AutoNumber fields.
 * It increases the physical size of the database.



MORE INFORMATION
Besides being aware that replication makes the above changes, you should also be aware that replication imposes the following two limitations on your tables:

  First, the Microsoft Jet database engine allows a maximum of 2048 bytes (not counting Memo or OLE Object fields) in a record. Replication uses a minimum of 28 bytes to store unique identifiers and information about changes to the record. If the record contains either Memo or OLE Object fields, replication uses an additional 4 bytes for each of those fields. You can calculate the total number of bytes available in a record in a replicated table as follows:

     2048 bytes - 28 bytes for replication overhead - (4 bytes * the      number of Memo fields) - (4 bytes * the number of OLE Object fields) = the maximum number of bytes available   Second, the Jet database engine allows a maximum of 255 fields in a table of which at least three fields are used by replication. You can calculate the total number of fields available in a replicated table as follows:

     255 fields - 3 system fields - the number of Memo and OLE Object fields = the number of fields available 

Most well-designed applications do not use all the available fields in a table or all the available characters in a record. However, if you have a large number of Memo fields or OLE Object fields in your table, you should be aware of your remaining resources.

Just as the addition of three new fields to your tables adds to the size of each record, the addition of new system tables adds to the size of your database. Many of these new tables contain only a few records, but some of the new tables can grow significantly depending upon the frequency of synchronization between replicas.

The size of your database file can be significant for many reasons, including the following:


 * The Microsoft Jet data base engine supports files up to a maximum of 1 gigabyte in size.
 * Many users have limited space available on their hard drives and the creation of a replicable database that is larger than the original file can use up all available disk space.
 * If you choose to make a backup copy of the nonreplicable form of your database, you must have sufficient space on your hard drive.

