Before You Set Up Replication

Before you set up replication, review the following information.

Satisfy server hardware requirements

There are no special memory or other hardware requirements for subscription servers, nor for publication servers that are configured to use a remote distribution server.

However, if a server will act as either a distribution server or a combined publication/distribution server, it must have at least 32 MB of memory installed, with at least 16 MB assigned to SQL Server. Use SQL Enterprise Manager or sp_configure to assign memory to SQL Server. For information about assigning memory, see Chapter 3, Configuring Servers.

If a distribution server will be set up to perform distribution for more than one publication server, the distribution server will require additional memory and available disk space. A multiprocessor machine is beneficial in this environment because it takes full advantage of the multithreaded architecture of the distribution processes.

All other hardware and software requirements are identical to those for any SQL Server installation. For SQL Server hardware and software requirements, see Microsoft SQL Server Setup.

Use one character set

Publication, distribution, and subscription servers that participate together in replication should be configured to use the same character set.

If you would like query results on replicated data to remain consistent between the publication and subscription servers, it is recommended that servers that participate together in replication to use the same sort order. (However, this is not required.)

Set the server logon security mode

Replication can be implemented on servers that have been configured to use any of SQL Server's login security modes. For information about the login security mode, see Chapter 8, "Security Concepts."

By default, regardless of the security mode the servers are set for, a distribution server connects to a subscription server using a trusted connection (forced integrated security). This means that the SQL Client Configuration Utility on the distribution server (a combined publisher/distributor or a remote distributor) must be set to use Named Pipes or Multi-Protocol as the default network.

This also means that when servers participate in replication but reside within separate Windows NT Server domains, trust relationships must be established between those domains. For information on establishing trust relationships, see your manuals for Windows NT Server.

Create publication and destination databases

It is not required, but it is a good idea to create the databases that will be published and the databases that will subscribe to published data before configuring servers to participate in replication. This allows you to mark those databases as authorized to publish or subscribe at the time that you configure the server replication options.

Allow adequate transaction log space for publication databases

For each database that will be published, make sure that the transaction log has ample space allocated to it.

The transaction log of a published database may require more space than the log of an identical database that is not set up to be published. If the distribution database is unavailable for any reason, or if the replication log reader is not running, the transaction log of a publication database will continue to grow and cannot be truncated past the oldest published transaction that has not been passed into the distribution database (unless replication is turned off completely for that database).

Add declared primary keys to tables that will be published

Primary key support requires that all published tables contain a declared primary key. Existing tables can be prepared for publishing by adding a declared primary key using the Manage Tables functionality of SQL Enterprise Manager, or the following ALTER TABLE syntax.

ALTER TABLE [database.[owner.]]table_name
ADD CONSTRAINT constraint_name
PRIMARY KEY [CLUSTERED | NONCLUSTERED]
(column_name [{, column_name}...])
[WITH FILLFACTOR = fillfactor]

For more information about adding a declared primary key using SQL Enterprise Manager, see the Microsoft SQL Server Database Developer's Companion. For more information on ALTER TABLE, see the Microsoft SQL Server Transact-SQL Reference.