This section describes the primary database issues and considerations specific to the Adaptive Server Anywhere (ASA) data server in a Sybase replication system.
ASA is a different relational database than Sybase Adaptive Server Enterprise, which is the original primary data server supported by Replication Server. Adaptive Server Enterprise is designed specifically for high-performance OLTP (online transaction processing) and mixed workload enterprise computing. By contrast, ASA is designed for the following applications:
Embedded database
Many applications (personal information managers, document management systems—nearly any application that stores information) require a database “behind the scenes.” ASA is intended to be the database for these applications. The UltraLite deployment option is intended for embedded environments that have limited resources.
Mobile computing
With its SQL Remote replication, ASA extends transaction-based computing throughout the enterprise. The UltraLite deployment option and MobiLink synchronization technology provide full database functionality on devices with limited resources.
Workgroup server
Workgroups ranging in size from a few people to a few hundred people in an organization may require a data server that they can share. ASA is a multiuser server that can provide a high-performance database for workgroups, well-suited for (but not limited to) environments where administration and hardware resources are limited.
As a primary data server in a replication system, ASA interacts with the Adaptive Server Anywhere Replication Agent. The ASA Replication Agent is responsible for identifying and transferring transactions from the ASA primary database to a primary Replication Server.
A script file is provided with ASA to set up an ASA database to function as a primary database. The rssetup.sql script file performs the following operations to set up ASA as a primary database for replication:
Creates a user ID named dbmaint, with password dbmaint, with DBA permissions. This is the Replication Server Maintenance User ID and password required to connect to the primary database.
Creates a user named sa, with password sysadmin, with DBA permissions. This is the user ID used by Replication Server when materializing data.
Adds sa and dbmaint to a group named rs_systabgroup.
Setting REPLICATE ON for an ASA table places additional information in the database transaction log whenever an insert, update, or delete operation occurs on the table. The additional information significantly increases the log resources used by the server. The ASA Replication Agent uses this information to submit the full before image of the row, where required, to Replication Server for replication.
By default, the ASA Replication Agent uses the sa user ID and password created by the rssetup.sql command file to log in to the ASA primary database.
You must create the user ID and password that the ASA Replication Agent uses to log in to the primary Replication Server. Record these values in the rs_user and rs_pw configuration parameters in the ASA Replication Agent configuration file. This user ID must have been defined and granted connect source permission in the primary Replication Server.
A Replication Server database connection name is made up of two parts: a data server name (server_name) and a database name (db_name). Record these values in the RS_source_ds and RS_source_db configuration parameters in the ASA Replication Agent configuration file.
The primary Replication Server does not use the source_db portion of the Replication Server database connection. Instead, Replication Server obtains the database name from the command line of the data server identified in the source_ds portion of the Replication Server database connection. However, you must include a database name in the Replication Server create connection statement to conform to the syntax.
One ASA Replication Agent is required for each ASA primary database from which transactions are replicated.
The ASA Replication Agent does not “pre-read” data from the RSSD of the primary Replication Server, as other Replication Agents do.
You cannot substitute an ASA Replication Agent for an Adaptive Server Enterprise Replication Agent (Replication Agent), because the ASA and Adaptive Server Enterprise transaction logs have different formats.
In ASA, all database object identifiers are not case sensitive (that is, uppercase and lowercase are treated as the same). In Adaptive Server Enterprise, database object identifiers are case sensitive by default. With ASA, you must ensure that the case of database object identifiers matches in all parts of the SQL statements to ensure compatibility with Adaptive Server Enterprise.
Because the ASA Replication Agent does not “pre-read” data from the RSSD of the primary Replication Server, the entire row for all replicated operations is sent to the primary Replication Server. By contrast, other Replication Agents can selectively send only those columns identified by the replication definition.
ASA supports data of zero length that is not NULL. However, non-null long, varchar, and long binary data of zero length are replicated to a replicate site as NULL.
If a primary table has columns with unsupported datatypes, you can replicate the data if you create a replication definition using a compatible supported datatype. For example, to replicate a double column, you could define the column as float in the replication definition.
Replication Server Manager support for ASA is not implemented in version 12.6.
One of the differences between the Adaptive Server Enterprise Replication Agent (RepAgent thread) and the ASA Replication Agent is that while the Adaptive Server Enterprise RepAgent thread depends on a temporary recovery database for access to old transactions, the ASA Replication Agent depends on access to old transaction logs. No temporary recovery database exists for the ASA Replication Agent.