Friday, March 9, 2012

missing rows problem

Hi!
Recently I have noticed some strange behaviour from SQL Server.
It seems to me that rows are being deleted some time after they are
inserted (or maybe they are unable to be read again).
I use one Trial SQL server 2000 as central server with Merge replication
and MSDE as anonymous subscription.
When I used only Trial server with no replication I didn't notice this
problem (I mean, I didn't get reports of strange behaviour of data
from users using the program).
Couple a days ago I got first report of strange behaviour of data
not being on the server. I said that he is probably mistaken and
that he didn't do something right. So I went to check log of the
data where I found out that he was right, and that SQL server
deleted three rows.
I know this because there is a log with primary key of the data
that were inserted. This log is created inside transaction after
the data is inserted. And there is no stored procedure for deleting
this data.
So he inserted that same rows again, and again for some reasons they
were also deleted after some time. Now I had two logs of the same data
being inserted and not present.
After the third time the data remained there.
Today I got a report of another problem. One row is also missing, but
this time from another table.
I have a couple of data which proves that this row was inserted and
unless using sql commands it can't be removed from database.
Users can only make changes to the data on the Trial server and then
the data are propagated to MSDE server.
I found http://support.microsoft.com/default...b;en-us;826433
which could be related but I'm not sure what to do.
Any suggestions on how to approach this problem? How to detect when and
why are data being removed?
From which server are they missing the publisher, subscriber or both?
Nik Marshall-Blank MCSD/MCDBA
"zapov" <zapov@.yahoo.com> wrote in message
news:dfrfef$1b5$1@.ss405.t-com.hr...
> Hi!
> Recently I have noticed some strange behaviour from SQL Server.
> It seems to me that rows are being deleted some time after they are
> inserted (or maybe they are unable to be read again).
> I use one Trial SQL server 2000 as central server with Merge replication
> and MSDE as anonymous subscription.
> When I used only Trial server with no replication I didn't notice this
> problem (I mean, I didn't get reports of strange behaviour of data
> from users using the program).
> Couple a days ago I got first report of strange behaviour of data
> not being on the server. I said that he is probably mistaken and
> that he didn't do something right. So I went to check log of the
> data where I found out that he was right, and that SQL server
> deleted three rows.
> I know this because there is a log with primary key of the data
> that were inserted. This log is created inside transaction after
> the data is inserted. And there is no stored procedure for deleting
> this data.
> So he inserted that same rows again, and again for some reasons they
> were also deleted after some time. Now I had two logs of the same data
> being inserted and not present.
> After the third time the data remained there.
> Today I got a report of another problem. One row is also missing, but
> this time from another table.
> I have a couple of data which proves that this row was inserted and unless
> using sql commands it can't be removed from database.
>
> Users can only make changes to the data on the Trial server and then
> the data are propagated to MSDE server.
> I found http://support.microsoft.com/default...b;en-us;826433
> which could be related but I'm not sure what to do.
> Any suggestions on how to approach this problem? How to detect when and
> why are data being removed?
|||Nik Marshall-Blank wrote:
> From which server are they missing the publisher, subscriber or both?
>
both
|||After thinking about this I have one more question:
Could it be that because of referential integrity at the MSDE
server the data could be pushed back as a delete to Trial SQL
server?
Right now I have Enforce relationship for replication checked.
Should I unckeck it?
|||You could try it.
Nik Marshall-Blank MCSD/MCDBA
"zapov" <zapov@.yahoo.com> wrote in message
news:dfrhnd$7qu$1@.ss405.t-com.hr...
> After thinking about this I have one more question:
> Could it be that because of referential integrity at the MSDE
> server the data could be pushed back as a delete to Trial SQL
> server?
> Right now I have Enforce relationship for replication checked.
> Should I unckeck it?
|||Just read up on Merge Replications and updates at Subscribers are propogated
back to Publishers si I think this it=s your problem. Maybe you should go
for a different type of replication where subscriber changes are not
progpogated back.
Nik Marshall-Blank MCSD/MCDBA
"zapov" <zapov@.yahoo.com> wrote in message
news:dfrhnd$7qu$1@.ss405.t-com.hr...
> After thinking about this I have one more question:
> Could it be that because of referential integrity at the MSDE
> server the data could be pushed back as a delete to Trial SQL
> server?
> Right now I have Enforce relationship for replication checked.
> Should I unckeck it?

No comments:

Post a Comment