rs_dumptran

Description

Initiates a coordinated transaction dump.

Examples

Example 1

Creates an rs_dumptran function string to execute a stored procedure named dumptran_proc. The stored procedure manages the dump devices and then executes the rs_update_lastcommit stored procedure, passing it the rs_origin, rs_origin_qid, -rs_secondary_qid, and rs_origin_commit_time parameters.

create function string rs_dumptran
 for sqlserver_derived_class
 output language
 'execute dumptran_proc
     ?rs_dump_dbname!sys?,
     ?rs_dump_label!sys?,
     ?rs_dump_timestamp!sys?,
     ?rs_destination_db!sys?,
     ?rs_origin!sys?,
     ?rs_origin_qid!sys?,
     ?rs_secondary_qid!sys?
     ?rs_origin_commit_time!sys?'

If the server crashes after the dump is complete but before the rs_lastcommit system table is updated, Replication Server restarts the backup.

For an example of how dumptran_proc can be written, see the dumpdb_proc stored procedure example in rs_dumpdb.

NoteThere is no guarantee that the dump and the rs_update_lastcommit procedure will be executed atomically, because Adaptive Server does not allow the dump command to be included in a transaction with other commands. If the rs_lastcommit system table is not updated successfully, an additional dump may be performed.

Example 2

Alters the rs_dumptran function string that you created in the first example to execute as a remote procedure call.

alter function string rs_dumptran
 for sqlserver_derived_class
 output rpc
 'execute dumptran_proc
     ?rs_dump_dbname!sys?,
     ?rs_dump_label!sys?,
     ?rs_dump_timestamp!sy‘s?,
     ?rs_destination_db!sys?,
     ?rs_origin!sys?,
     ?rs_origin_qid!sys?,
     ?rs_secondary_qid!sys?,
     ?rs_origin_commit_time!sys?!'

Usage

Table 4-3: System variables for rs_dumptran function strings

Variable name

Datatype

Description

rs_dump_dbname

varchar(30)

The name of the database where the dump originated.

rs_dump_label

varchar(30)

Label information for the dump. For Adaptive Server, this variable contains a datetime value for the time the dump began.

rs_dump_timestamp

varbinary(16)

An Adaptive Server database timestamp taken when the dump was started at the origin. The variable is used for informational purposes only.

See also

create function string, rs_commit, rs_dumpdb, rs_get_lastcommit