Hi All,
I have a setup which has a MSA replication from a 15.0.3 ASE server to a 15.7 SP 100 ASE server.When we add a user in 15.0.3 ASE server, it gets replicated (replicate system procs enabled in rep def) but fails at the replicate end with the below message ...
- E. 2014/11/19 08:31:10. ERROR #1028 DSI EXEC(107(1) SYBCRDUAT.counterpartyinfo) - dsiqmint.c(4400)
Message from server: Message: 17260, State 1, Severity 16 -- 'Can't run sp_adduser from within a transaction.'.
and the DSI goes down. We thought it was because of rep server executing it as a tran, so we enabled 'ddl in tran' option for the target db and tried. But it failed with the same error again. Looking closer we found that the sp_adduser is changed in 15.7 like below ...
*********************************************
exec @retstat = sp_ha_check_certified 'sp_adduser', @HA_CERTIFIED
if (@retstat != 0)
return (1)
/*
** Do not allow this system procedure to be run from within a transaction
** to avoid creating a multi-database transaction where the 'master'
** database is not the co-ordinating database.
*/
if @@trancount > 0
begin
/*
** 17260, "Can't run %1! from within a transaction."
*/
raiserror 17260, "sp_adduser"
return (1)
end
else
begin
set chained off
end
set transaction isolation level 1
Now, why did they do that? so, how do we resolve it? Can someone explain?
TIA