Deferred Name Resolution

Deferred name resolution lets you create stored procedures in Adaptive Server without resolving the objects used internally by these stored procedures. Adaptive Server postpones the object resolution phase to the first time you execute the stored procedure in Adaptive Server.

Stored procedures execute normally when you execute them after the first time.

In Replication Server versions earlier than 15.5, you can set up a warm standby application and enable sp_reptostandby at the active database to allow replication of supported data definition language (DDL) commands to the standby database. See Replication Server Administration Guide Volume 2 > Manage Warm Standby Applications.

However on a standby database or a replicate database in a non-Warm Standby environment, you cannot create a stored procedure that references a temporary table because Replication Server does not replicate temporary tables. The create stored procedure process must resolve the objects used internally by the stored procedure. However since there is no temporary table in the replicate or standby database, Replicate Server does not create the stored procedure in the replicate or standby database.

With support for deferred name resolution, Replication Server allows the replication of stored procedures that refer to temporary tables, tables that do not exist, and procedures that do not exist, to replicate or standby databases.

See Adaptive Server Enterprise Transact-SQL Guide, Adaptive Server Enterprise System Administration Guide: Volume 1, and Adaptive Server EnterpriseReference Manual: Commands.

Configure Replication Server to Support Deferred Name Resolution

To enable or disable deferred name resolution in Replication Server, use the deferred_name_resolution parameter with alter connection for a physical connection or alter logical connection for a logical connection in a warm standby application.

For example, to enable deferred name resolution on the pubs2 warm standby database of the SYDNEY_DS data server:
alter logical connection to SYDNEY_DS.pubs2
set deferred_name_resolution to ‘on’

After you execute deferred_name_resolution with alter connection or alter logical connection, suspend and resume the connection. By default, deferred_name_resolution is off.

Note: Enable deferred name resolution support in Adaptive Server before you configure deferred name resolution support in Replication Server.