Wednesday, March 7, 2012

How to Add a Missing Index to a Table in Merge Replication?

One of the table that is in a merge replication somehow is missing an
index. Strangely, only the table in one of the subscriber of the merge
replication is missing the index; another subscriber and the publisher
of the merge replication don't have this problem.

How should I add the missing index back to that table? My understanding
is that making structural change on a table that is in
merge-replication is different from making change on a table that is
not merge-replicated. For example, when we need to add a column into a
table that is being merge-replicated, we must add the column by
changing the attributes in the properties of the published article
(table) instead of simply using CREATE INDEX command. I am wondering
whether there is a similar restriction on adding an index onto a table
that is merge replicated.

I have already added the index back to the table anyway. I am asking
here just in case doing this may get me into a problem later on.
Thanks in advance for any info.

Jay Chan<jaykchan@.hotmail.com> wrote in message
news:1106577312.674228.283880@.z14g2000cwz.googlegr oups.com...
> One of the table that is in a merge replication somehow is missing an
> index. Strangely, only the table in one of the subscriber of the merge
> replication is missing the index; another subscriber and the publisher
> of the merge replication don't have this problem.
> How should I add the missing index back to that table? My understanding
> is that making structural change on a table that is in
> merge-replication is different from making change on a table that is
> not merge-replicated. For example, when we need to add a column into a
> table that is being merge-replicated, we must add the column by
> changing the attributes in the properties of the published article
> (table) instead of simply using CREATE INDEX command. I am wondering
> whether there is a similar restriction on adding an index onto a table
> that is merge replicated.
> I have already added the index back to the table anyway. I am asking
> here just in case doing this may get me into a problem later on.
> Thanks in advance for any info.
> Jay Chan

I seem to remember that MSSQL only replicates indexes as part of an initial
snapshot, and after that they have to be maintained manually, so what you've
done would be fine. But I must admit that I'm not at all sure about the
details, so you might want to post in microsoft.public.sqlserver.replication
and see if you get a better answer.

Simon|||> I seem to remember that MSSQL only replicates indexes as part of an
initial
> snapshot, and after that they have to be maintained manually, so what
you've
> done would be fine. But I must admit that I'm not at all sure about
the
> details, so you might want to post in
microsoft.public.sqlserver.replication
> and see if you get a better answer.

Thanks for the confirmation. In any case, I cannot find a way to add an
index through the attributes of the replication publication anyway. I
am sure I am on the right track.

Jay Chan|||> I seem to remember that MSSQL only replicates indexes as part of an
initial
> snapshot, and after that they have to be maintained manually, so what
you've
> done would be fine. But I must admit that I'm not at all sure about
the
> details, so you might want to post in
microsoft.public.sqlserver.replication
> and see if you get a better answer.

Thanks for the confirmation. In any case, I cannot find a way to add an
index through the attributes of the replication publication anyway. I
am sure I am on the right track.

Jay Chan

No comments:

Post a Comment