cancel
Showing results for 
Search instead for 
Did you mean: 

Problem replicating SQLSERVER to SQLSEVER

Former Member
0 Kudos

Hi ,

I am having trouble replicating SQLSERVER to SQLSEVER using SAP Replication Server.

The agent log doesnt have any problem...I can even run a query from it using pdb_execute_sql "select * from test" and it works perfect..

I create a connection in RS using :

Connection from RA to RS

create connection to MS.Prueba

set error class rs_sqlserver_error_class

set function string class rs_msss_function_class

set username ra_ms

set password Password2015

set batch to "on"

with log transfer on, dsi_suspended

go

Until that everything is fine ...but when I resume the connection in the agent this error appear in RS...

E. 2015/10/05 20:48:51. ERROR #13113 DSI(131 MS.Prueba) - \generic\useful\cm.c(5297)

  Failed to obtain a reference to the indicated Connector. See messages from Connector factory for details. Data server make: mssql. Connector type: msnative. Data server: MS. Database: Prueba.

I. 2015/10/05 20:48:51. No Sybase library information is available.

I. 2015/10/05 20:48:51. The DSI thread for database 'MS.Prueba' is shutdown.

REPLICATION FROM SQLSERVER TO SQLSERVER

PDS- SQLSERVER 2008 MICROSOFT SQLSERVER ENTERPRISE EDITION 64bit

     version 10.0.1600.22 (OS Microsoft windows NT 6.1)

RA- SAP Replication Agent for Unix & Windows/15.7.1 SP208/P/generic/JDK 7.0/rax1571

        sp208/62080.208/VM: SAP AG 1.7.0_25/OPT/Fri Jun 19 05:30:56 MDT 2015

RS-Replication Server/15.7.1/EBF 24435 SP300 rscorona/X64/Windows 2008 R2/2351/OPT

        64/Thu Aug 06 11:08:41 2015

Please anyone has seen thuis problem before!!!!

Thanks

Former Member
0 Kudos

Hi MArk ,

Thanks for your reply ...Under my knowlege ..you have to use  create connection profile

when you create the connection between your RS and Replicated data base....

What i am trying to do here .without success is connect my primary Database with RS....

thats whay i am using  create connection...

Mark_A_Parsons
Contributor
0 Kudos

The 'create connection' command is used to create a connection from RS to a (primary/replicate) database.  In both cases (primary/replicate) database an outgoing connection, also known as a DSI (DataServer Interface), is created. [Yeah, even for a 'primary' database the repserver will create a DSI/outbound connection to the primary database.]

The error message you're receiving is related to the outgoing/DSI connection to your primary database (notice the 'DSI' reference in the error message):

E. 2015/10/05 20:48:51. ERROR #13113 DSI(131 MS.Prueba)... snip ...

-----------------

In the case of a primary database the additional clause 'with log transfer on' tells repserver to setup an incoming thread that the MSSQL/RA (repagent) will connect to.  (Additional internal components ... queues, threads ... will also be setup and associated with the the incoming connection from MSSQL/RA).

----------------

I'd still be interested in where your instructions for setting up MSSQL-to-MSSQL replication are coming from.  If we could get a look at these instructions it'll probably be easier to troubleshoot your setup.

Just curious ... have you got your outbound/DSI connection setup ok to the replicate MSSQL database?

Accepted Solutions (1)

Accepted Solutions (1)

terry_penna
Participant
0 Kudos

Hi Andres

Wanted to verify that you are creating the connection from the MSSQL RAX to the RS?  If this is true then the message you are seeing is okay and you should leave the DSI connection suspended and the error will go away. 

Every connection that is created in RS has two parts

1) Distributor (DIST) connection, this is the inbound connection from the RA

2) Database Server Interface (DSI) connection, this is the outbound connection to the target database.

If you were to replicate ASE to ASE the inbound connection to the RS will still have the two parts and the ASE will know how to handle both DIST and DSI connection but it will only use the DIST.  same is true connecting to target ASE it knows how to handle both parts of the connection but will only use the DSI portion.

When RAX connects to a RS it does not use the DSI portion on the connection and is only using the DIST or inbound portion of the connection.  It also does not know how to handle the DSI portion which is why you should leave the DSI suspended. Remember both parts are created with the create connection command.

Which is why you have the following in the create connection command:

'dsi_suspended'

As long as the RAX connection is up and your test connection command to the RS works in RAX you will be able to replicate just leave the DSI suspended.

Regards

Former Member
0 Kudos

Thanks Terry !!! you were right ...thanks a lot...

also thanks Marks for your time I appreciate it..

former_member89972
Active Contributor
0 Kudos

Terry

Excellent explanation about "create connection"  command mechanics.

Out of curiosity :

Will the suspended DSI show in the output of admin who_is_down ?

If so will it not pose a hurdle for monitoring scripts if any that normally send alerts on threads down ?

Also I am not sure what you mean by "error will go away" !

Thanks.

Avinash

terry_penna
Participant
0 Kudos

Hi Avinash

Admin who_is_down will show that it is suspended because it is correct that is is suspended and there is no logic in the command to tell that this is a connection to a RAX.
So if you write your own monitoring scripts that use this command you will need to take this into account and evaluate the connection and if it is a connection to a RAX then not have it send an alert for a down or suspended state.

Now if you use the Replication Manager plug in for SCC you can ignore the DSI for this connection and it will not show up in any monitoring for that connection.

Thanks

Answers (0)