rs_objects

Stores replication definitions, one per row.

Column

Datatype

Description

prsid

int

Primary Replication Server where this object was created

objname

varchar(255)

Object name

objid

rs_id

Object ID

dbid

int

Unique ID for data server and database

objtype

char(1)

One of the following object types:

  • R – table replication definition

  • F – function replication definition

attributes

int

Mask, can be one or more of these:

  • 0x01 – generate dynamic function strings.

  • 0x02 – replication definition has bigdatetime or bigtime columns and can be propagated only to Replication Server 15.5 or later.

  • 0x04 – minimum columns enabled for replication definition.

  • 0x08 – replication definition has identity column.

  • 0x10 – replicate_if_changed status.

  • 0x20 – replication definition has a drop pending.

  • 0x40 – replication definition has text, unitext, or image column.

  • 0x80 – replication definition is used by a standby.

  • 0x0100 – replication definition’s columns are sent to standby database.

  • 0x0200 – replication definition is propagated to Replication Servers version 11.0.x or earlier.

  • 0x0400 – replication definition has been used as a base replication definition for the primary table.

  • 0x0800 – replication definition is internal only.

  • 0x1000 – object or column names differ in the primary and replicate tables.

  • 0x4000 – replication definition has column-level translations.

  • 0x8000 – replication definition has columns declared with UDDs.

  • 0x10000 – replication definition has char, varchar, binary, or varbinary columns with more than 255 bytes and can be propagated only to Replication Server 12.5 or later.

  • 0x20000 – replication definition has unichar or univarchar columns and can be propagated only to Replication Server 12.5 or later.

  • 0x40000 – replication definition has date or time columns and can be propagated only to Replication Server 12.6 or later.

  • 0x80000 – replication definition has timestamp columns. Propagated to Replication Server 15.1 as timestamp, and propagated to Replication Server 15.0.1 or earlier as varbinary.

  • 0x200000 – applied function replication definition and can be propagated only to Replication Server 15.1.

  • 0x400000 – request function replication definition and can be propagated only to Replication Server 15.1.

  • 0x800000 – dynamic SQL is not used on the table.

  • 0x2000000 - update is enabled for SQL replication.

  • 0x4000000 - delete is enabled for SQL replication.

  • 0x8000000 - insert select is enabled for SQL replication

  • 0x10000000 - SQL replication is disabled by repserver internally

ownertype

char(1)

Type of owner of this object:

  • U – user

  • S – System

crdate

datetime

Date and time created

parentid

rs_id

Reserved for future use.

ownerid

rs_id

ID of the user who created this object

rowtype

tinyint

1 if row is replicated, 0 if not

phys_tablename

varchar(255)

Primary table name – used when communicating with data server about this object

deliver_as_name

varchar(255)

Name of the replicate table or stored procedure

phys_objowner

char(30)

Name of the primary table owner, as specified in replication definition.

Blank if the table owner is not specified.

repl_objowner

char(30)

Name of the replicate table owner, as specified in replication definition.

Blank if the table owner is not specified.

has_baserepdef

rs_id

If this is not a base replication definition, the value of has_baserepdef matches that of objid for the base replication definition. Or, has the following value:

0x00 - Base replication definition

minvers

int

Specifies the minimum version of a replication definition, and thus the Replication Server to which it can propagate. Can be:

  • 1200 – propagates to Replication Server version 12 or later

  • 1150 – propagates to Replication Server version 11.5 or later

  • 1000 or 0 (zero) – propagates to any Replication Server

  • 0 (zero) – for function and system replication definitions

version

rs_id

Uniquely identifies a replication definition version.

active_inbound

int

Executor uses this column to decide which replication definition version to use. Executor uses the replication definition version whose value for the active_inbound column is 0.

attributes2

int

  • 0x01 – Distributor uses this to identify replication definition versions which are not in use by Distributor.

  • 0x02 – The standby DSI uses this to identify replication definition versions which are not in use by the standby DSI.

Replication Server may create a new replication definition version when you alter a replication definition. When that happens, Replication Server changes the name of the old replication definition version to a unique name with a “rs_drp” prefix. Replication Server treats replication definitions with names prefixed with “rs_drp” or “rs_in” as internal replication definitions.

Replication Server deletes an internal replication definition when the data associated with the replication definition is no longer in the replication system.

To exclude internal replication definitions from a query to the rs_objects table, add to the where clause of the query:

and objname not like ‘rs_drp%’ and objname not like
‘rs_in%’

For example, this query returns the name of all replication definitions created against the ling.authors primary table, and excludes the internal replication definitions:

select objname from rs_objects where prsid = 16777317
and dbid = 104 and phys_tablename = 'authors' and
phys_objowner = 'ling' and objname not like 'rs_drp%'
and objname not like 'rs_in%

Indexes

  • Unique clustered index on (objname)

  • Unique index on (dbid, phys_tablename, phys_objowner, objtype, has_baserepdef, active_inbound)

  • Unique index on (objid)

  • Unique index on (version)