Showing posts with label publisher. Show all posts
Showing posts with label publisher. Show all posts

Friday, March 30, 2012

Invitation - MrBool.com

Hi friends,

First I would like present me. My name is Eduardo, I am publisher of
the Mr.Bool Portal (that can be accessed through the address www.mrbool.com).

There is short time was given beginning to this new challenge, and now
I am finding columnists that have interest in write articles for
publication.

The articles need to be related to the Java, SQL. Net, or to some
technology related to the mobile devices.

Below possible subjects for articles are listed:

Small articles that discuss aspects related to the Java. For
example, articles about: Eclipse, NetBeans, TomCat, persistence with
Java, JDBC, JME, JSE, JEE, EJB ,JUnit, Ant, Design Patterns,UML, RUP,
JExcelAPI, Prefuse, API's, Frameworks, among others.
Small articles that discuss aspects related to the .NET. For
example, articles about: ASP.NET, C#, J#, persistence with .NET,
Frameworks, content management, UML, XML, Design Patterns, among
others.
Small articles that discuss aspects related to the DataBase. For
example, articles about: Oracle, SQL Server, MySQL, Postgre SQL,
Hibernate, modeling tools, Entity-relationship, Reporting Services,
SGBD's, among others.
Small articles that discuss aspects related to the technologies for
mobile devices. For example, articles about: PDA, SmartPhone, Windows
CE, Symbian, Windows Mobile, PocketPC, JME, SuperWaba, N-Gage,
Blackberry, API's, Frameworks, programming for mobile devices
(languages, frameworks), among others.

The ideal is that we worked with short articles and with a regularity
of constant sending (for example, one or two articles to each month).

I think that this Portal is an excellent place to present your
knowledge. You already can find several articles and videos
about .Net. Soon we will have also articles and videos about Java and
SQL. All free!

What do you think about this? We would like of count with your
availability and contribution.

Who will be interested can enter in contact with me through the e-
mail:
eduspinola@.gmail.com
Thanks,
Eduardo SpnolaOn Mar 20, 8:51 am, "Eduardo Spnola" <eduardoospin...@.gmail.com>
wrote:

Quote:

Originally Posted by

Hi friends,
>
First I would like present me. My name is Eduardo, I am publisher of
the Mr.Bool Portal (that can be accessed through the addresswww.mrbool.com).
>
There is short time was given beginning to this new challenge, and now
I am finding columnists that have interest in write articles for
publication.
>
The articles need to be related to the Java, SQL. Net, or to some
technology related to the mobile devices.
>
Below possible subjects for articles are listed:
>
Small articles that discuss aspects related to the Java. For
example, articles about: Eclipse, NetBeans, TomCat, persistence with
Java, JDBC, JME, JSE, JEE, EJB ,JUnit, Ant, Design Patterns,UML, RUP,
JExcelAPI, Prefuse, API's, Frameworks, among others.
Small articles that discuss aspects related to the .NET. For
example, articles about: ASP.NET, C#, J#, persistence with .NET,
Frameworks, content management, UML, XML, Design Patterns, among
others.
Small articles that discuss aspects related to the DataBase. For
example, articles about: Oracle, SQL Server, MySQL, Postgre SQL,
Hibernate, modeling tools, Entity-relationship, Reporting Services,
SGBD's, among others.
Small articles that discuss aspects related to the technologies for
mobile devices. For example, articles about: PDA, SmartPhone, Windows
CE, Symbian, Windows Mobile, PocketPC, JME, SuperWaba, N-Gage,
Blackberry, API's, Frameworks, programming for mobile devices
(languages, frameworks), among others.
>
The ideal is that we worked with short articles and with a regularity
of constant sending (for example, one or two articles to each month).
>
I think that this Portal is an excellent place to present your
knowledge. You already can find several articles and videos
about .Net. Soon we will have also articles and videos about Java and
SQL. All free!
>
What do you think about this? We would like of count with your
availability and contribution.
>
Who will be interested can enter in contact with me through the e-
mail:
eduspin...@.gmail.com
>
Thanks,
Eduardo Spnola


Good Social Service . Keep it up !
Best Wishes

Invisible rows after failed syncronization

Publisher: SQL Server 2000 SP4
Subscriber: SQL Server 2005 Mobile Edition

Sometimes, after a failed merge replication(due to communication error) some rows on the subscriber became invisible for the publisher.

I've reproduced a case:

[START Short Version]
All rows inserted between a comm failed sync and a fine sync became invisible.
This seems to be caused because the subscriber keeps generating rows with the same generation number and the publisher doesn't look for this generation anymore.
[END Short Version]

[START Detailed case]
STEP 0: INITIAL STATE
Publisher
Orders Table
EMPTY

Subscriber
NO DATABASE

STEP 1: After FIRST SYNC and INSERTING 2 Orders

Publisher

Orders Table

EMPTY

Subscriber

Orders Table
OrderId __sysIG __sysCG __sysMC
000001 4 4 81
000002 4 4 81

STEP 2: After SECOND SYNC

Publisher

Orders Table

OrderId

000001

000002

Subscriber

Orders Table

OrderId __sysIG __sysCG __sysMC

000001 4 4 80

000002 4 4 80

STEP 3: INSERT ANOTHER ORDER

Subscriber

Orders Table

OrderId __sysIG __sysCG __sysMC

000001 4 4 80

000002 4 4 80

000003 6 6 81

STEP 4: After THIRD SYNC (with comm error)
Error: [NativeError:28037][HRESULT:-2147012889]->[A request to send data to the computer running IIS has failed. For more information, see HRESULT.]
When: Error happens provoked after sending from Subscriber to Publisher but before ending syn process.
Publisher
Orders Table

OrderId

000001

000002

000003
Subscriber
Orders Table

OrderId __sysIG __sysCG __sysMC

000001 4 4 80

000002 4 4 80
000003 6 6 81
Note: Publisher has the row but subscriber keeps the state in 81.

STEP 5: INSERT ANOTHER ORDER (BEFORE A GOOD SYNC)
Subscriber
Orders Table

OrderId __sysIG __sysCG __sysMC

000001 4 4 80

000002 4 4 80
000003 6 6 81

000004 6 6 81
Note: Orders 000003 and 000004 have the same system info

STEP 6: After FOURTH SYNC
Publisher
Orders Table

OrderId
000001

000002

000003
Subscriber
Orders Table

OrderId __sysIG __sysCG __sysMC

000001 4 4 80

000002 4 4 80
000003 6 6 81

000004 6 6 81

Note: Even with a fine merge process Publisher didn't get the 000004 row and the Subscriber didn't update the __sysMC

STEP 7: INSERT ANOTHER ORDER

Subscriber

Orders Table
OrderId __sysIG __sysCG __sysMC
000001 4 4 80
000002 4 4 80

000003 6 6 81

000004 6 6 81

000005 8 8 81

STEP 8: After FIFTH SYNC

Publisher
Orders Table
OrderId
000001
000002
000003
000005
Subscriber
Orders Table
OrderId __sysIG __sysCG __sysMC
000001 4 4 80
000002 4 4 80
000003 6 6 81

000004 6 6 81

000002 8 8 80

Note: Data from generation 8 merge correctly, but data from generation 6 keeps invisible to publisher.
STEP 9: DUMMY UPDATE ON GEN 6 ROWS
Action: I made a non relevant update to force the Subscriber update the generation.
Subscriber
Orders Table

OrderId __sysIG __sysCG __sysMC

000001 4 4 80

000002 4 4 80
000003 6 10 81
000004 6 10 81
000005 8 8 80

Note: sysCG get its value updated correctly.

STEP 10: After SIXTH SYNC

Publisher
Orders Table
OrderId
000001
000002
000003
000004

000005
Subscriber
Orders Table
OrderId __sysIG __sysCG __sysMC
000001 4 4 80
000002 4 4 80

000003 6 6 80

000004 6 6 80


000002 8 8 80

Note: Data merges correctly.
[END Detailed case]

I could code a system that checks all the publication tables and updates all the last generation rows in case of communication error but i would really like to avoid doing it.

I don't know if I'm missing something or if this is a bug or a known issue.

This is a big problem for me because communication errors on cellular phone based connection are quite common and users keep working even if there's an error.

Any comment will be appreciated.Finally, I've modified my replication process solve this manually.

On a normal case (no previous error):
1. I get the current generation (__sysMergeSubscriptions.LastUploadedGen+1)
2. Launch a normal sync.
3. If it fails I save the failed generation for using it on next sync.

On the previous error case:
1. Do a normal sync (to get a valid __sysMergeSubscriptions.LastUploadedGen)
2. Do a dummy update on all rows (from all published tables (from __sysMergeArticles)) that __sysIG or __sysCG equals the wrong generation number.
3. Do a normal sync to send all the invisible rows to the publisher.

I don't like my own solution, but that's the only way I have to keep the system working as I haven't find any reference to this problem anywhere.|||

Hey MeZKaL,

I just have few questions to narrow downt he problem point in the whole path of sync components.

In the same above scenario, can you please also let me know the contents of __sysMergeSubscription and
__sysMergeSubscriptionProperties table for that subscription in each of the above STEPs (esp. Steps 4 to 6)?

Basically, I just want to know which of the following is true (after a failed sync)

1) Client did not enumerate the changes and hence did not send the changes

2) Client has enumerated the changes, sent the changes but metadata does not say its new change

3) Client has enumerated, sent the changes, metadata also says its a new change, but publisher ignores it for some internal
reasons like publisher metadata says its a false change ...etc

Thanks,

Laxmi

|||I repeated the case saving a copy of the mobile db for each step.

There are no changes on __sysMergeSubscriptionProperties so I will put it just one time.

__sysMergeSubscriptionProperties
SubscriptionId: 87a0e646-d908-b0b9-e2b1-d6eb58165c8f
Distributor
DistributorAddress
DistributorNetwork: 0
DistributorSecurityMode: 1
DistributorLogin
DistributorPassword
ExchangeType: 3
InternetLogin: domain\user
InternetURL: URL
InternetPassword: *******
LoginTimeout: 15
ProfileName: DEFAULT
Publisher: SERVER\INSTANCE
PublisherAddress
PublisherNetwork: 0
PublisherDatabase: DBName
PublisherSecurityMode: 1
PublisherLogin: domain\user
PublisherPassword: *******
Publication: PubName
QueryTimeout: 300
Validate: 0
HostName
Subscriber: domain\user
InternetProxyServer
InternetProxyLogin
InternetProxyPassword
ConnectionRetryTimeout: 120
CompressionLevel: 1
ConnectionManager: 0
SnapshotTransferType: 99

Many of the field value from __sysMergeSubscriptions didn't change during the process.

__sysMergeSubscriptions
Publisher: server\instance
PublisherDatabase: DBName
Publication: PubName
PublicationId: 03e497f6-83b6-4de3-87e3-e97835880c94
SubscriptionId: 87a0e646-d908-b0b9-e2b1-d6eb58165c8f
SyncPartnerId: 751a4dfe-2eba-7a4a-b11a-35beec9a8bf3
SyncAnchorId: 00000000-0000-0000-0000-000000000000
SchemaVersion: 481
SchemaVersionId: 00000000-0000-0000-0000-000000000000
ReplNick (casted to int): -312916250
Retention: 0
MachineId: 374677b5-b002-d9f5-d4e4-4628538f2ccd
PathName: Path\DB.sdf
ReinitRequested: 0
ReplProp: NULL
HostName:
ValidationHostName: 0
ReplicaState: 00000000-0000-0000-0000-000000000000
LastCleanupDate: 15/11/2006 16:30
ReconcilerVersion: 8
Subscriber: domain\user

[START Detailed case]

STEP 1: After FIRST SYNC
Publisher
Orders Table
EMPTY

Subscriber
Orders Table
EMPTY

__sysMergeSubscriptions
SyncAnchor LastUploadedGen LastSuccessfulSync SentGen80
4977 0 15/11/2006 16:30 70
SentGen80Id: 61327c39-f34b-15d1-3924-8e2577f94d6f

STEP 2: After INSERTING 2 Orders
Subscriber
Orders Table
OrderId __sysIG __sysCG __sysMC
57000 4 4 81
57001 4 4 81

__sysMergeSubscriptions
SyncAnchor LastUploadedGen LastSuccessfulSync SentGen80
4977 0 15/11/2006 16:30 70
SentGen80Id: 61327c39-f34b-15d1-3924-8e2577f94d6f

STEP 3: After SECOND SYNC (with comm error)
Error: [NativeError:28037][HRESULT:-2147012889]->[A request to send data to the computer running IIS has failed. For more information, see HRESULT.]
When: Error happens provoked after sending from Subscriber to Publisher but before ending syn process.
Publisher
Orders Table
OrderId
57000
57001

Subscriber
Orders Table
OrderId __sysIG __sysCG __sysMC
57000 4 4 81
57001 4 4 81

__sysMergeSubscriptions
SyncAnchor LastUploadedGen LastSuccessfulSync SentGen80
4977 0 15/11/2006 16:30 70
SentGen80Id: 61327c39-f34b-15d1-3924-8e2577f94d6f

STEP 4: INSERT ANOTHER ORDER
Subscriber
Orders Table
OrderId __sysIG __sysCG __sysMC
57000 4 4 81
57001 4 4 81
57002 4 4 81

__sysMergeSubscriptions
SyncAnchor LastUploadedGen LastSuccessfulSync SentGen80
4977 0 15/11/2006 16:30 70
SentGen80Id: 61327c39-f34b-15d1-3924-8e2577f94d6f

STEP 5: After THIRD SYNC
Publisher
Orders Table
OrderId
57000
57001

Subscriber
Orders Table
OrderId __sysIG __sysCG __sysMC
57000 4 4 81
57001 4 4 81
57002 4 4 81

__sysMergeSubscriptions
SyncAnchor LastUploadedGen LastSuccessfulSync SentGen80
5095 5 15/11/2006 17:22 71
SentGen80Id: e5ff3df6-195c-3145-273e-86784ace7e16

STEP 6: DUMMY UPDATE
Subscriber
Orders Table
OrderId __sysIG __sysCG __sysMC
57000 4 6 81
57001 4 6 81
57002 4 6 81

__sysMergeSubscriptions
SyncAnchor LastUploadedGen LastSuccessfulSync SentGen80
5095 5 15/11/2006 17:22 71
SentGen80Id: e5ff3df6-195c-3145-273e-86784ace7e16

STEP 7: After FOURTH SYNC
Publisher
Orders Table
OrderId
57000
57001
57002

Subscriber
Orders Table
OrderId __sysIG __sysCG __sysMC
57000 4 6 80
57001 4 6 80
57002 4 6 80

__sysMergeSubscriptions
SyncAnchor LastUploadedGen LastSuccessfulSync SentGen80
5213 7 15/11/2006 17:35 72
SentGen80Id
SentGen80Id: 4171a971-b963-a541-300a-0b1602902e39

[__sysMergeSubscriptions DETAIL]
SyncAnchor LastUploadedGen LastSuccessfulSync SentGen80
step1 4977 0 15/11/2006 16:30 70
step2 4977 0 15/11/2006 16:30 70
step3 4977 0 15/11/2006 16:30 70
step4 4977 0 15/11/2006 16:30 70
step5 5095 5 15/11/2006 17:22 71
step6 5095 5 15/11/2006 17:22 71
step7 5213 7 15/11/2006 17:35 72

SentGen80Id
61327c39-f34b-15d1-3924-8e2577f94d6f
61327c39-f34b-15d1-3924-8e2577f94d6f
61327c39-f34b-15d1-3924-8e2577f94d6f
61327c39-f34b-15d1-3924-8e2577f94d6f
e5ff3df6-195c-3145-273e-86784ace7e16
e5ff3df6-195c-3145-273e-86784ace7e16
4171a971-b963-a541-300a-0b1602902e39|||Can you open a case with CSS please for this? That way we can get a better handle on this in a timely manner.|||My workaround runs pretty well and I don't have time now for spending hours and hours crossing mails and test results with a support service.

If anyone can help with the previous data, it'll be welcomed but I won't spent more time testing and logging for this issue. I've lots of work and not many time.

Friday, March 23, 2012

Invalid object name 'dbo.sysmergepublications'

I am working with SQL Server 2005 and having problems with the publisher.
After I installed SQL and setup my database, I setup the server as both the
distributor and the publisher. Then I setup a merge publication that worked
fine with SQL Mobile 2005, I didn't have any problems with synchronization
and everything seemed fine. I deleted that publication and went through the
New Publication Wizard to create a new publication, but at the end I get the
following message:
TITLE: New Publication Wizard
SQL Server could not create publication 'MRSTest'.
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch.
(Microsoft.SqlServer.ConnectionInfo)
Invalid object name 'dbo.sysmergepublications'.
Publication 'MRSTest' does not exist.
Changed database context to 'MRS'. (Microsoft SQL Server, Error: 208)
For help, click: http://go.microsoft.com/fwlink?
ProdName=Microsoft+SQL+Server&ProdVer=09.00.
1399&EvtSrc=MSSQLServer&EvtID=208&LinkId=20476
I looked and sure enough all those tables were gone out of my database under
System Tables. I found a stored procedure to recreated all those tables,
and although it did recreate them, it didn't fix the problem. I have trid
to disable Publisher but I get the following error:
TITLE: Publisher Properties
An error occurred while saving publication database.
Do you want to continue saving other changes?
For help, click: http://go.microsoft.com/fwlink?
ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.06 &EvtSrc=Microsoft.
SqlServer.Management.UI.
PubshrPropertiesErrorSR&EvtID=ErrorSavingPubDB&Lin kId=20476
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch.
(Microsoft.SqlServer.ConnectionInfo)
Invalid object name 'dbo.sysmergesubscriptions'.
Changed database context to 'MRS'. (Microsoft SQL Server, Error: 208)
For help, click: http://go.microsoft.com/fwlink?
ProdName=Microsoft+SQL+Server&ProdVer=09.00.
1399&EvtSrc=MSSQLServer&EvtID=208&LinkId=20476
This happened one other time when I deleted a publication and I ended up
reinstalling SQL. This is just a test database so it really isn't a big
deal, it's just time consuming. Could this be happening because I am in
there a lot changing the Publication and Article properties? I will be
moving this to a production server soon and although I doubt I will be
deleting any Publications, just in case I really need to know how to fix it.
Any help would really be appreciated in fixing this on my development server
along with how to prevent it from happening in the future.
Thanks,
Heather
Can you create a new publication with a different name?
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"Heather B." <hbaker@.pro-merchnospam.com> wrote in message
news:975c64b3907e4dbb9353419093e55256@.ureader.com. ..
>I am working with SQL Server 2005 and having problems with the publisher.
> After I installed SQL and setup my database, I setup the server as both
> the
> distributor and the publisher. Then I setup a merge publication that
> worked
> fine with SQL Mobile 2005, I didn't have any problems with synchronization
> and everything seemed fine. I deleted that publication and went through
> the
> New Publication Wizard to create a new publication, but at the end I get
> the
> following message:
> TITLE: New Publication Wizard
> --
> SQL Server could not create publication 'MRSTest'.
> --
> ADDITIONAL INFORMATION:
> An exception occurred while executing a Transact-SQL statement or batch.
> (Microsoft.SqlServer.ConnectionInfo)
> --
> Invalid object name 'dbo.sysmergepublications'.
> Publication 'MRSTest' does not exist.
> Changed database context to 'MRS'. (Microsoft SQL Server, Error: 208)
> For help, click: http://go.microsoft.com/fwlink?
> ProdName=Microsoft+SQL+Server&ProdVer=09.00.
> 1399&EvtSrc=MSSQLServer&EvtID=208&LinkId=20476
> I looked and sure enough all those tables were gone out of my database
> under
> System Tables. I found a stored procedure to recreated all those tables,
> and although it did recreate them, it didn't fix the problem. I have trid
> to disable Publisher but I get the following error:
> TITLE: Publisher Properties
> --
> An error occurred while saving publication database.
> Do you want to continue saving other changes?
> For help, click: http://go.microsoft.com/fwlink?
> ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.06 &EvtSrc=Microsoft.
> SqlServer.Management.UI.
> PubshrPropertiesErrorSR&EvtID=ErrorSavingPubDB&Lin kId=20476
> --
> ADDITIONAL INFORMATION:
> An exception occurred while executing a Transact-SQL statement or batch.
> (Microsoft.SqlServer.ConnectionInfo)
> --
> Invalid object name 'dbo.sysmergesubscriptions'.
> Changed database context to 'MRS'. (Microsoft SQL Server, Error: 208)
> For help, click: http://go.microsoft.com/fwlink?
> ProdName=Microsoft+SQL+Server&ProdVer=09.00.
> 1399&EvtSrc=MSSQLServer&EvtID=208&LinkId=20476
> This happened one other time when I deleted a publication and I ended up
> reinstalling SQL. This is just a test database so it really isn't a big
> deal, it's just time consuming. Could this be happening because I am in
> there a lot changing the Publication and Article properties? I will be
> moving this to a production server soon and although I doubt I will be
> deleting any Publications, just in case I really need to know how to fix
> it.
>
> Any help would really be appreciated in fixing this on my development
> server
> along with how to prevent it from happening in the future.
> Thanks,
> Heather
|||No, it doesn't matter what I name it I cannot create another merge
publication. I can create a snapshot publication, but that doesn't really
help.
|||You shouldn't have to reinstall. You mention "I found a stored procedure to
recreated all those tables, and although it did recreate them, it didn't fix
the problem"
What was this proc and where did you find it?
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"Heather B." <hbaker@.pro-merchnospam.com> wrote in message
news:04535b948bf74617a5bdfcf4fba91355@.ureader.com. ..
> No, it doesn't matter what I name it I cannot create another merge
> publication. I can create a snapshot publication, but that doesn't really
> help.
|||I found this in a forum somewhere, when I ran it all the tables seemed to be
there, but when I tried to create a new publication I still go an error.
This time it would say something about a field missing, I don't remember
which field but I do remember that I looked in the table and it was there.
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER procedure [dbo].[sp_MScreate_mergesystables] as
/* This is to make sure that the varbinary columns do not get padded */
set ANSI_PADDING off
DECLARE @.exist bit
DECLARE @.validsubs int
select @.exist = 1
begin tran
save transaction MScreate_mergesystables
exec dbo.sp_MScheckvalidsystables @.validsubs output
if @.validsubs = 0
exec dbo.sp_MSdrop_mergesystables
if not exists (select * from sysobjects where name = 'sysmergepublications')
begin
raiserror('Creating table sysmergepublications',0,1)
create table dbo.sysmergepublications
(publishersysname NOT NULL default @.@.servername,
publisher_dbsysname NOT NULL default db_name(),
namesysnameNOT NULL,
descriptionnvarchar(255) NULL,
retentionintNULL,
publication_type tinyintNULL,
pubid uniqueidentifier NOT NULL,
designmasteriduniqueidentifier NULL,
parentiduniqueidentifier NULL,
sync_modetinyintNULL,
allow_pushintNULL,
allow_pullintNULL,
allow_anonymousintNULL,
centralized_conflictsintNULL,
statustinyintNULL,
snapshot_readytinyintNULL,
enabled_for_internet bit NOT NULL default 0,
dynamic_filtersbitNOT NULL default 0,
-- portable snapshot support
snapshot_in_defaultfolder bit NOT NULL default
1,
alt_snapshot_folder nvarchar(255) NULL,
-- Pre/post - snapshot commands
pre_snapshot_script nvarchar(255) NULL,
post_snapshot_script nvarchar(255) NULL,
-- Snapshot compression
compress_snapshot bit NOT NULL default
0,
-- Post 7.0 Ftp support
ftp_address sysname NULL,
ftp_port int NOT NULL default
21,
ftp_subdirectory nvarchar(255) NULL,
ftp_login sysname NULL default
N'anonymous',
ftp_password nvarchar(524) NULL,
conflict_retentionintNULL,
keep_before_valuesintNULL default 0,
allow_subscription_copybit NULL default 0,
allow_synctoalternatebit NULL default 0,
validate_subscriber_infonvarchar(500)NULL,
ad_guidnamesysnameNULL,
backward_comp_levelintnot NULL default 10, --7.0 RTM
max_concurrent_mergeintnot NULL default 0,
max_concurrent_dynamic_snapshots int not NULL default
0
)
if @.@.ERROR <> 0
goto Error
CREATE UNIQUE NONCLUSTERED INDEX nc1sysmergepublications
ON sysmergepublications(pubid)
if @.@.ERROR <> 0
goto Error
exec dbo.sp_MS_marksystemobject sysmergepublications
if @.@.ERROR <> 0
goto Error
-- grant select on sysmergepublications to public
end
if not exists (select * from sysobjects where name = 'MSmerge_errorlineage')
begin
raiserror('Creating table MSmerge_errorlineage',0,1)
create table dbo.MSmerge_errorlineage (
tablenickint NOT NULL,
rowguiduniqueidentifier NOT NULL,
lineagevarbinary(255)
)
exec dbo.sp_MS_marksystemobject MSmerge_errorlineage
if @.@.ERROR <> 0
goto Error
create unique clustered index uc1errorlineage on
MSmerge_errorlineage(tablenick, rowguid)
if @.@.ERROR <> 0
goto Error
--grant select on MSmerge_errorlineage to public
end
-- this table exists at distribution/db and subscriber databse both
if not exists (select * from sysobjects where name =
'MSrepl_identity_range')
begin
raiserror('Creating table MSrepl_identity_range',0,1)
create table dbo.MSrepl_identity_range (
objidint not NULL primary key,
next_seedbigint NULL, --resource control
pub_rangebigint NULL, --publisher range
rangebigint NULL, -- set by sp_addmergearticle
max_identitybigint NULL, --resource control
thresholdintNULL,--in percentage, set by sp_addmergearticle
current_maxbigint NULL--max value for current check constraint,set
by sp_addmergearticle
)
exec dbo.sp_MS_marksystemobject MSrepl_identity_range
if @.@.ERROR <> 0
goto Error
--grant select on MSrepl_identity_range to public
end
if not exists (select * from sysobjects where name = 'sysmergearticles')
begin
raiserror('Creating table sysmergearticles',0,1)
create table dbo.sysmergearticles (
namesysnameNOT NULL,
type tinyint NULL,
objidintNOT NULL,
sync_objidintNOT NULL,
view_type tinyintNULL,
artiduniqueidentifierNOT NULL,
description nvarchar(255) NULL,
pre_creation_commandtinyintNULL,
pubiduniqueidentifier NOT NULL,
nicknameintNOT NULL,
column_trackingintNOT NULL,
statustinyintNULL,
conflict_tablesysnameNULL,
creation_scriptnvarchar(255)NULL,
conflict_scriptnvarchar(255)NULL,
article_resolvernvarchar(255)NULL,
ins_conflict_procsysnameNULL,
insert_procsysnameNULL,
update_procsysnameNULL,
select_procsysnameNULL,
schema_option binary(8) NULL,
destination_objectsysnameNOT NULL,
destination_ownersysnameNULL,
resolver_clsidnvarchar(50)NULL,
subset_filterclause nvarchar(1000) NULL,
missing_col_countintNULL,
missing_colsvarbinary(128)NULL,
excluded_colsvarbinary(128)NULL,
excluded_col_countintnot NULL default 0,
columns varbinary(128) NULL,
resolver_infonvarchar(255)NULL,
view_sel_procnvarchar(290)NULL,
gen_curintNULL,
vertical_partitionintnot NULL default 0,
identity_supportintnot NULL default 0,
before_image_objidintNULL,
before_view_objidintNULL,
verify_resolver_signature intNULL,
allow_interactive_resolverbitNOT NULL default 0,
fast_multicol_updateprocbitNOT NULL default 0,
check_permissionsintNOT NULL default 0,
maxversion_at_cleanupintNOT NULL default 1,
published_in_tran_pubbitNOT NULL default 0
-- Note: Please update sysmergeextendedarticlesview
whenever
-- there is a schema change in sysmergearticles
)
if @.@.error<>0
goto Error
else
begin
create unique clustered index uc1sysmergearticles
on sysmergearticles(artid, pubid)
if @.@.ERROR <> 0
goto Error
if not exists (select * from sysindexes where name =
'nc1sysmergearticles')
begin
create nonclustered index nc1sysmergearticles on
sysmergearticles(nickname)
if @.@.ERROR <> 0
return 1
end
end
exec dbo.sp_MS_marksystemobject sysmergearticles
if @.@.ERROR <> 0
goto Error
grant select(nickname,gen_cur,maxversion_at_cleanup) on sysmergearticles
to public
end
if not exists (select * from sysobjects where name =
'sysmergeschemaarticles')
begin
-- The extended merge articles table is for storing
-- schema only article information.
-- The current supported schema only articles are
-- stored procs and views.
raiserror('Creating table sysmergeschemaarticles',0,1)
create table dbo.sysmergeschemaarticles
( name sysname NOT NULL,
type tinyint NULL,
objid int NOT NULL,
artid uniqueidentifier NOT NULL,
description nvarchar(255) NULL,
pre_creation_command tinyint NULL,
pubid uniqueidentifier NOT NULL,
status tinyint NULL,
creation_script nvarchar(255) NULL,
schema_option binary(8) NULL,
destination_object sysname NOT NULL,
destination_owner sysname NULL
-- Note: Please update sysmergeextendedarticlesview
whenever
-- there is a schema change in sysmergeschemaarticles
)
if @.@.error<>0
goto Error
else
begin
create unique clustered index uc1sysmergeschemaarticles
on sysmergeschemaarticles(artid, pubid)
if @.@.ERROR <> 0
goto Error
end
exec dbo.sp_MS_marksystemobject sysmergeschemaarticles
if @.@.ERROR <> 0
goto Error
end
if exists (select * from sysobjects where name =
'sysmergeextendedarticlesview')
begin
drop view dbo.sysmergeextendedarticlesview
end
exec ('create view dbo.sysmergeextendedarticlesview
as
select name, type, objid, sync_objid, view_type, artid,
description, pre_creation_command, pubid,
nickname, column_tracking, status, conflict_table, creation_script,
conflict_script, article_resolver,
ins_conflict_proc, insert_proc, update_proc, select_proc,
schema_option, destination_object,
resolver_clsid, subset_filterclause, missing_col_count, missing_cols,
columns, resolver_info,
view_sel_proc, gen_cur, excluded_cols, excluded_col_count,
vertical_partition, identity_support,
destination_owner, before_image_objid, before_view_objid,
verify_resolver_signature,
allow_interactive_resolver, fast_multicol_updateproc,
check_permissions, maxversion_at_cleanup,
published_in_tran_pub
from sysmergearticles
union all
select name, type, objid, NULL, NULL, artid, description,
pre_creation_command, pubid,
NULL, NULL, status, NULL, creation_script, NULL, NULL,
NULL, NULL, NULL, NULL, schema_option, destination_object,
NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL,
destination_owner, NULL, NULL, NULL,
0, 0, 0, NULL, 0
from sysmergeschemaarticles
go')
if @.@.error <> 0
goto Error
exec dbo.sp_MS_marksystemobject sysmergeextendedarticlesview
if not exists (select * from sysobjectswhere name =
'sysmergesubscriptions')
begin
raiserror('Creating table sysmergesubscriptions',0,1)
create table dbo.sysmergesubscriptions
(
subid uniqueidentifier NOT NULL,
partnerid uniqueidentifier NOT NULL,
datasource_typeintNOT NULL,
datasource_pathnvarchar(255)NULL,
srvid intNOT NULL,
db_name sysname NOT NULL
constraint unique_pubsrvdb unique nonclustered (pubid, srvid,
db_name),
pubiduniqueidentifier NULL,
status tinyint NOT NULL,
subscriber_typeintNOT NULL,
subscription_typeintNOT NULL,
priorityrealNOT NULL,
sync_type tinyintNOT NULL,-- 1 = automatic 2 = no sync
descriptionnvarchar(255)NULL,
login_namesysnameNOT NULL,
last_validateddatetimeNULL,
subscriber_serversysnameNULL,
use_interactive_resolverbitNOT NULL default 0,
publicationsysname NULL,
distributorsysname NULL,
validation_levelintnot NULL default 0,
resync_genintnot NULL default -1,
attempted_validatedatetimeNULL,
last_sync_datedatetimeNULL,
last_sync_statusintNULL,
last_sync_summarysysnameNULL
)
if @.@.error<>0
goto Error
else
begin
create unique clustered index uc1sysmergesubscriptions
on sysmergesubscriptions (subid)
if @.@.ERROR<>0
goto Error
create index nc2sysmergesubscriptions on sysmergesubscriptions (srvid,
db_name)
if @.@.ERROR<>0
goto Error
end
exec dbo.sp_MS_marksystemobject sysmergesubscriptions
if @.@.ERROR <> 0
goto Error
--grant select on sysmergesubscriptions to public
end
if not exists (select * from sysobjectswhere name = 'MSmerge_replinfo')
begin
raiserror('Creating table MSmerge_replinfo',0,1)
create table dbo.MSmerge_replinfo
(
repid uniqueidentifier NOT NULL,
replnicknameintNOT NULL,
recgenint NULL,
recguiduniqueidentifier NULL,
sentgenint NULL,
sentguiduniqueidentifier NULL,
schemaversionint NULL,
schemaguiduniqueidentifier NULL,
merge_jobidbinary(16)NULL,
snapshot_jobidbinary(16)NULL
)
if @.@.ERROR <> 0
goto Error
else
begin
create unique clustered index uc1MSmerge_replinfo
on MSmerge_replinfo (repid)
if @.@.ERROR <> 0
goto Error
end
exec dbo.sp_MS_marksystemobject MSmerge_replinfo
if @.@.ERROR <> 0
goto Error
--grant select on MSmerge_replinfo to public
end
if not exists (select * from sysobjectswhere name = 'MSmerge_tombstone')
begin
raiserror('Creating table MSmerge_tombstone',0,1)
create table dbo.MSmerge_tombstone
(
rowguiduniqueidentifier rowguidcol NOT NULL,
tablenickintNOT NULL,
typetinyintNOT NULL,
lineagevarbinary(249)NOT NULL,
generationintNOT NULL,
reasonnvarchar(255)NOT NULL,
)
if @.@.ERROR <> 0
goto Error
else
begin
create unique clustered index uc1MSmerge_tombstone
on MSmerge_tombstone (tablenick DESC, rowguid)
if @.@.ERROR <> 0goto Error
create index nc2MSmerge_tombstone
on MSmerge_tombstone (generation)
if @.@.ERROR <> 0goto Error
end
exec dbo.sp_MS_marksystemobject MSmerge_tombstone
if @.@.ERROR <> 0
goto Error
--grant select on MSmerge_tombstone to public
end
if not exists (select * from sysobjectswhere name = 'MSmerge_contents')
begin
raiserror('Creating table MSmerge_contents',0,1)
create table dbo.MSmerge_contents
(
tablenickintNOT NULL,
rowguiduniqueidentifier rowguidcol NOT NULL,
generationintNOT NULL,
partchangegenintNULL,
joinchangegenintNULL,
lineagevarbinary(249)NOT NULL,
colv1varbinary(2048)NULL,
)
if @.@.ERROR <> 0
goto Error
else
begin
create unique clustered index uc1SycContents on
MSmerge_contents(tablenick, rowguid)
if @.@.ERROR <> 0 goto Error
create index nc2MSmerge_contents on MSmerge_contents(generation)
if @.@.ERROR <> 0 goto Error
create index nc3MSmerge_contents on MSmerge_contents(partchangegen)
if @.@.ERROR <> 0 goto Error
create index nc4MSmerge_contents on MSmerge_contents(rowguid)
if @.@.ERROR <> 0 goto Error
end
exec dbo.sp_MS_marksystemobject MSmerge_contents
if @.@.ERROR <> 0
goto Error
--grant select on MSmerge_contents to public
end
if not exists (select * from sysobjectswhere name = 'MSmerge_genhistory')
begin
raiserror('Creating table MSmerge_genhistory',0,1)
create table dbo.MSmerge_genhistory
(
guidsrc uniqueidentifier NOT NULL,
guidlocal uniqueidentifier NOT NULL,
pubiduniqueidentifier NULL,
generation intNOT NULL,
art_nickintNULL,
nicknamesvarbinary(1000)NOT NULL,
coldate datetimeNOT NULL
)
if @.@.ERROR <> 0
goto Error
create clustered index c1MSmerge_genhistory on
MSmerge_genhistory(generation)
if @.@.ERROR <> 0
goto Error
create unique index unc1MSmerge_genhistory on MSmerge_genhistory(guidsrc,
pubid)
if @.@.ERROR <> 0
goto Error
create index nc2MSmerge_genhistory on MSmerge_genhistory(guidlocal)
if @.@.ERROR <> 0
goto Error
CREATE INDEX nc4MSmerge_genhistory ON MSmerge_genhistory(coldate)
if @.@.ERROR <> 0
goto Error
exec dbo.sp_MS_marksystemobject MSmerge_genhistory
if @.@.ERROR <> 0
goto Error
--grant select on MSmerge_genhistory to public
end
if not exists (select * from sysobjectswhere name =
'MSmerge_delete_conflicts')
begin
raiserror('Creating table MSmerge_delete_conflicts',0,1)
create table dbo.MSmerge_delete_conflicts
(
tablenickintNOT NULL,
rowguiduniqueidentifier rowguidcol NOT NULL,
origin_datasourcenvarchar(255)NULL,
conflict_typeint NULL,
reason_codeint NULL,
reason_textnvarchar(720) NULL,
pubiduniqueidentifier NULL,
create_timedatetime not null default getdate()
)
if @.@.ERROR <> 0
goto Error
else
begin
create clustered index uc1MSmerge_delete_conflicts on
MSmerge_delete_conflicts(tablenick, rowguid)
if @.@.ERROR <> 0
goto Error
end
CREATE UNIQUE NONCLUSTERED INDEX nc1MSmerge_delete_conflicts
ON MSmerge_delete_conflicts(tablenick, rowguid, origin_datasource)
if @.@.ERROR <> 0
goto Error
exec dbo.sp_MS_marksystemobject MSmerge_delete_conflicts
if @.@.ERROR <> 0
goto Error
--grant select on MSmerge_delete_conflicts to public
end
if not exists (select * from sysobjectswhere name = 'sysmergeschemachange')
begin
raiserror('Creating table sysmergeschemachange',0,1)
create table dbo.sysmergeschemachange
(
pubiduniqueidentifier NOT NULL,
artiduniqueidentifier NULL,
schemaversion int NOT NULL,
schemaguid uniqueidentifier NOT NULL,
schematypeint NOT NULL,
schematextnvarchar(2000) NOT NULL
)
if @.@.ERROR <> 0
goto Error
else
begin
create unique clustered index schemachangeversion on
sysmergeschemachange(schemaversion, pubid)
if @.@.ERROR <> 0
goto Error
end
exec dbo.sp_MS_marksystemobject sysmergeschemachange
if @.@.ERROR <> 0
goto Error
--grant select on sysmergeschemachange to public
end
if not exists (select * from sysobjects where name =
'sysmergesubsetfilters')
begin
raiserror('Creating table sysmergesubsetfilters',0,1)
create table dbo.sysmergesubsetfilters (
filtername sysname NOT NULL,
join_filteridintidentity NOT NULL,
pubiduniqueidentifierNOT NULL,
artiduniqueidentifierNOT NULL,
art_nicknameintNOT NULL,
join_articlenamesysname NOT NULL,
join_nickname intNOT NULL,
join_unique_keyintNOT NULL,
expand_procsysnameNULL,
join_filterclause nvarchar(1000) NULL
)
if @.@.ERROR <> 0
goto Error
CREATE UNIQUE NONCLUSTERED INDEX nc1sysmergesubsetfilters
ON sysmergesubsetfilters(join_filterid, pubid)
if @.@.ERROR <> 0
goto Error
exec dbo.sp_MS_marksystemobject sysmergesubsetfilters
if @.@.ERROR <> 0
goto Error
--grant select on sysmergesubsetfilters to public
end
if @.@.error <> 0
goto Error
if not exists (select * from sysobjects where name =
'MSdynamicsnapshotviews')
begin
raiserror('Creating table MSdynamicsnapshotviews',0,1)
create table dbo.MSdynamicsnapshotviews (
dynamic_snapshot_view_name sysname primary key
)
if @.@.ERROR <> 0
goto Error
exec dbo.sp_MS_marksystemobject MSdynamicsnapshotviews
end
if not exists (select * from sysobjects where name =
'MSdynamicsnapshotjobs')
begin
raiserror('Creating table MSdynamicsnapshotjobs',0,1)
create table dbo.MSdynamicsnapshotjobs (
id int identity,
name sysname not null unique,
pubid uniqueidentifier not null,
job_id uniqueidentifier not null,
dynamic_filter_login sysname null,
dynamic_filter_hostname sysname null,
dynamic_snapshot_location nvarchar(255) not null
)
if @.@.ERROR <> 0
goto Error
exec dbo.sp_MS_marksystemobject MSdynamicsnapshotjobs
create unique clustered index uciMSdynamicsnapshotjobs on
dbo.MSdynamicsnapshotjobs(job_id, pubid)
if @.@.ERROR <> 0
goto Error
end
if @.@.error <> 0
goto Error
if not exists (select * from sysobjects where name =
'MSmerge_altsyncpartners')
begin
raiserror('Creating table MSmerge_altsyncpartners',0,1)
create table dbo.MSmerge_altsyncpartners (
subid uniqueidentifier not null,
alternate_subid uniqueidentifier not null,
descriptionnvarchar(255)NULL
)
if @.@.ERROR <> 0
goto Error
exec dbo.sp_MS_marksystemobject MSmerge_altsyncpartners
create unique clustered index uciMSmerge_altsyncpartners on
dbo.MSmerge_altsyncpartners(subid, alternate_subid)
if @.@.ERROR <> 0
goto Error
end
if exists (select * from master..sysobjects where type='P' and
name='sp_MScreatedebuginfrastructure')
begin
declare @.retval int
exec @.retval= dbo.sp_MScreatedebuginfrastructure
if @.@.ERROR <> 0 or @.retval <> 0 goto Error
end
commit transaction
return (0)
Error:
if @.@.trancount > 0
begin
ROLLBACK TRANSACTION MScreate_mergesystables
COMMIT TRANSACTION
end
RAISERROR (20008, 16, -1)
return (1)
|||This looks like its for SQL 2000 and not for SQL 2005. Do you have any
backups you can restore?
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"Heather B." <hbaker@.pro-merchnospam.com> wrote in message
news:3758aadfdace47689a27696ac35b5ffd@.ureader.com. ..
>I found this in a forum somewhere, when I ran it all the tables seemed to
>be
> there, but when I tried to create a new publication I still go an error.
> This time it would say something about a field missing, I don't remember
> which field but I do remember that I looked in the table and it was there.
> set ANSI_NULLS ON
> set QUOTED_IDENTIFIER ON
> go
>
> ALTER procedure [dbo].[sp_MScreate_mergesystables] as
> /* This is to make sure that the varbinary columns do not get padded */
> set ANSI_PADDING off
> DECLARE @.exist bit
> DECLARE @.validsubs int
> select @.exist = 1
> begin tran
> save transaction MScreate_mergesystables
> exec dbo.sp_MScheckvalidsystables @.validsubs output
> if @.validsubs = 0
> exec dbo.sp_MSdrop_mergesystables
> if not exists (select * from sysobjects where name =
> 'sysmergepublications')
> begin
> raiserror('Creating table sysmergepublications',0,1)
> create table dbo.sysmergepublications
> ( publisher sysname NOT NULL default @.@.servername,
> publisher_db sysname NOT NULL default db_name(),
> name sysname NOT NULL,
> description nvarchar(255) NULL,
> retention int NULL,
> publication_type tinyint NULL,
> pubid uniqueidentifier NOT NULL,
> designmasterid uniqueidentifier NULL,
> parentid uniqueidentifier NULL,
> sync_mode tinyint NULL,
> allow_push int NULL,
> allow_pull int NULL,
> allow_anonymous int NULL,
> centralized_conflicts int NULL,
> status tinyint NULL,
> snapshot_ready tinyint NULL,
> enabled_for_internet bit NOT NULL default 0,
> dynamic_filters bit NOT NULL default 0,
> -- portable snapshot support
> snapshot_in_defaultfolder bit NOT NULL
> default
> 1,
> alt_snapshot_folder nvarchar(255) NULL,
> -- Pre/post - snapshot commands
> pre_snapshot_script nvarchar(255) NULL,
> post_snapshot_script nvarchar(255) NULL,
> -- Snapshot compression
> compress_snapshot bit NOT NULL
> default
> 0,
> -- Post 7.0 Ftp support
> ftp_address sysname NULL,
> ftp_port int NOT NULL
> default
> 21,
> ftp_subdirectory nvarchar(255) NULL,
> ftp_login sysname NULL default
> N'anonymous',
> ftp_password nvarchar(524) NULL,
> conflict_retention int NULL,
> keep_before_values int NULL default 0,
> allow_subscription_copy bit NULL default 0,
> allow_synctoalternate bit NULL default 0,
> validate_subscriber_info nvarchar(500) NULL,
> ad_guidname sysname NULL,
> backward_comp_level int not NULL default 10, --7.0 RTM
> max_concurrent_merge int not NULL default 0,
> max_concurrent_dynamic_snapshots int not NULL
> default
> 0
> )
> if @.@.ERROR <> 0
> goto Error
> CREATE UNIQUE NONCLUSTERED INDEX nc1sysmergepublications
> ON sysmergepublications(pubid)
> if @.@.ERROR <> 0
> goto Error
> exec dbo.sp_MS_marksystemobject sysmergepublications
> if @.@.ERROR <> 0
> goto Error
> -- grant select on sysmergepublications to public
> end
> if not exists (select * from sysobjects where name =
> 'MSmerge_errorlineage')
> begin
> raiserror('Creating table MSmerge_errorlineage',0,1)
> create table dbo.MSmerge_errorlineage (
> tablenick int NOT NULL,
> rowguid uniqueidentifier NOT NULL,
> lineage varbinary(255)
> )
> exec dbo.sp_MS_marksystemobject MSmerge_errorlineage
> if @.@.ERROR <> 0
> goto Error
> create unique clustered index uc1errorlineage on
> MSmerge_errorlineage(tablenick, rowguid)
> if @.@.ERROR <> 0
> goto Error
> --grant select on MSmerge_errorlineage to public
> end
> -- this table exists at distribution/db and subscriber databse both
> if not exists (select * from sysobjects where name =
> 'MSrepl_identity_range')
> begin
> raiserror('Creating table MSrepl_identity_range',0,1)
> create table dbo.MSrepl_identity_range (
> objid int not NULL primary key,
> next_seed bigint NULL, --resource control
> pub_range bigint NULL, --publisher range
> range bigint NULL, -- set by sp_addmergearticle
> max_identity bigint NULL, --resource control
> threshold int NULL, --in percentage, set by sp_addmergearticle
> current_max bigint NULL --max value for current check constraint,set
> by sp_addmergearticle
> )
> exec dbo.sp_MS_marksystemobject MSrepl_identity_range
> if @.@.ERROR <> 0
> goto Error
> --grant select on MSrepl_identity_range to public
> end
> if not exists (select * from sysobjects where name = 'sysmergearticles')
> begin
> raiserror('Creating table sysmergearticles',0,1)
>
> create table dbo.sysmergearticles (
> name sysname NOT NULL,
> type tinyint NULL,
> objid int NOT NULL,
> sync_objid int NOT NULL,
> view_type tinyint NULL,
> artid uniqueidentifier NOT NULL,
> description nvarchar(255) NULL,
> pre_creation_command tinyint NULL,
> pubid uniqueidentifier NOT NULL,
> nickname int NOT NULL,
> column_tracking int NOT NULL,
> status tinyint NULL,
> conflict_table sysname NULL,
> creation_script nvarchar(255) NULL,
> conflict_script nvarchar(255) NULL,
> article_resolver nvarchar(255) NULL,
> ins_conflict_proc sysname NULL,
> insert_proc sysname NULL,
> update_proc sysname NULL,
> select_proc sysname NULL,
> schema_option binary(8) NULL,
> destination_object sysname NOT NULL,
> destination_owner sysname NULL,
> resolver_clsid nvarchar(50) NULL,
> subset_filterclause nvarchar(1000) NULL,
> missing_col_count int NULL,
> missing_cols varbinary(128) NULL,
> excluded_cols varbinary(128) NULL,
> excluded_col_count int not NULL default 0,
> columns varbinary(128) NULL,
> resolver_info nvarchar(255) NULL,
> view_sel_proc nvarchar(290) NULL,
> gen_cur int NULL,
> vertical_partition int not NULL default 0,
> identity_support int not NULL default 0,
> before_image_objid int NULL,
> before_view_objid int NULL,
> verify_resolver_signature int NULL,
> allow_interactive_resolver bit NOT NULL default 0,
> fast_multicol_updateproc bit NOT NULL default 0,
> check_permissions int NOT NULL default 0,
> maxversion_at_cleanup int NOT NULL default 1,
> published_in_tran_pub bit NOT NULL default 0
> -- Note: Please update sysmergeextendedarticlesview
> whenever
> -- there is a schema change in sysmergearticles
> )
> if @.@.error<>0
> goto Error
> else
> begin
> create unique clustered index uc1sysmergearticles
> on sysmergearticles(artid, pubid)
> if @.@.ERROR <> 0
> goto Error
> if not exists (select * from sysindexes where name =
> 'nc1sysmergearticles')
> begin
> create nonclustered index nc1sysmergearticles on
> sysmergearticles(nickname)
> if @.@.ERROR <> 0
> return 1
> end
> end
> exec dbo.sp_MS_marksystemobject sysmergearticles
> if @.@.ERROR <> 0
> goto Error
> grant select(nickname,gen_cur,maxversion_at_cleanup) on sysmergearticles
> to public
> end
> if not exists (select * from sysobjects where name =
> 'sysmergeschemaarticles')
> begin
> -- The extended merge articles table is for storing
> -- schema only article information.
> -- The current supported schema only articles are
> -- stored procs and views.
> raiserror('Creating table sysmergeschemaarticles',0,1)
> create table dbo.sysmergeschemaarticles
> ( name sysname NOT NULL,
> type tinyint NULL,
> objid int NOT NULL,
> artid uniqueidentifier NOT NULL,
> description nvarchar(255) NULL,
> pre_creation_command tinyint NULL,
> pubid uniqueidentifier NOT NULL,
> status tinyint NULL,
> creation_script nvarchar(255) NULL,
> schema_option binary(8) NULL,
> destination_object sysname NOT NULL,
> destination_owner sysname NULL
> -- Note: Please update sysmergeextendedarticlesview
> whenever
> -- there is a schema change in sysmergeschemaarticles
> )
> if @.@.error<>0
> goto Error
> else
> begin
> create unique clustered index uc1sysmergeschemaarticles
> on sysmergeschemaarticles(artid, pubid)
> if @.@.ERROR <> 0
> goto Error
> end
> exec dbo.sp_MS_marksystemobject sysmergeschemaarticles
> if @.@.ERROR <> 0
> goto Error
> end
> if exists (select * from sysobjects where name =
> 'sysmergeextendedarticlesview')
> begin
> drop view dbo.sysmergeextendedarticlesview
> end
> exec ('create view dbo.sysmergeextendedarticlesview
> as
> select name, type, objid, sync_objid, view_type, artid,
> description, pre_creation_command, pubid,
> nickname, column_tracking, status, conflict_table, creation_script,
> conflict_script, article_resolver,
> ins_conflict_proc, insert_proc, update_proc, select_proc,
> schema_option, destination_object,
> resolver_clsid, subset_filterclause, missing_col_count, missing_cols,
> columns, resolver_info,
> view_sel_proc, gen_cur, excluded_cols, excluded_col_count,
> vertical_partition, identity_support,
> destination_owner, before_image_objid, before_view_objid,
> verify_resolver_signature,
> allow_interactive_resolver, fast_multicol_updateproc,
> check_permissions, maxversion_at_cleanup,
> published_in_tran_pub
> from sysmergearticles
> union all
> select name, type, objid, NULL, NULL, artid, description,
> pre_creation_command, pubid,
> NULL, NULL, status, NULL, creation_script, NULL, NULL,
> NULL, NULL, NULL, NULL, schema_option, destination_object,
> NULL, NULL, NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, NULL, NULL, NULL,
> destination_owner, NULL, NULL, NULL,
> 0, 0, 0, NULL, 0
> from sysmergeschemaarticles
> go')
> if @.@.error <> 0
> goto Error
> exec dbo.sp_MS_marksystemobject sysmergeextendedarticlesview
> if not exists (select * from sysobjects where name =
> 'sysmergesubscriptions')
> begin
> raiserror('Creating table sysmergesubscriptions',0,1)
>
> create table dbo.sysmergesubscriptions
> (
> subid uniqueidentifier NOT NULL,
> partnerid uniqueidentifier NOT NULL,
> datasource_type int NOT NULL,
> datasource_path nvarchar(255) NULL,
> srvid int NOT NULL,
> db_name sysname NOT NULL
> constraint unique_pubsrvdb unique nonclustered (pubid, srvid,
> db_name),
> pubid uniqueidentifier NULL,
> status tinyint NOT NULL,
> subscriber_type int NOT NULL,
> subscription_type int NOT NULL,
> priority real NOT NULL,
> sync_type tinyint NOT NULL, -- 1 = automatic 2 = no sync
> description nvarchar(255) NULL,
> login_name sysname NOT NULL,
> last_validated datetime NULL,
> subscriber_server sysname NULL,
> use_interactive_resolver bit NOT NULL default 0,
> publication sysname NULL,
> distributor sysname NULL,
> validation_level int not NULL default 0,
> resync_gen int not NULL default -1,
> attempted_validate datetime NULL,
> last_sync_date datetime NULL,
> last_sync_status int NULL,
> last_sync_summary sysname NULL
> )
> if @.@.error<>0
> goto Error
> else
> begin
> create unique clustered index uc1sysmergesubscriptions
> on sysmergesubscriptions (subid)
> if @.@.ERROR<>0
> goto Error
> create index nc2sysmergesubscriptions on sysmergesubscriptions (srvid,
> db_name)
> if @.@.ERROR<>0
> goto Error
> end
> exec dbo.sp_MS_marksystemobject sysmergesubscriptions
> if @.@.ERROR <> 0
> goto Error
> --grant select on sysmergesubscriptions to public
> end
> if not exists (select * from sysobjects where name = 'MSmerge_replinfo')
> begin
> raiserror('Creating table MSmerge_replinfo',0,1)
> create table dbo.MSmerge_replinfo
> (
> repid uniqueidentifier NOT NULL,
> replnickname int NOT NULL,
> recgen int NULL,
> recguid uniqueidentifier NULL,
> sentgen int NULL,
> sentguid uniqueidentifier NULL,
> schemaversion int NULL,
> schemaguid uniqueidentifier NULL,
> merge_jobid binary(16) NULL,
> snapshot_jobid binary(16) NULL
> )
> if @.@.ERROR <> 0
> goto Error
> else
> begin
> create unique clustered index uc1MSmerge_replinfo
> on MSmerge_replinfo (repid)
> if @.@.ERROR <> 0
> goto Error
> end
> exec dbo.sp_MS_marksystemobject MSmerge_replinfo
> if @.@.ERROR <> 0
> goto Error
> --grant select on MSmerge_replinfo to public
> end
> if not exists (select * from sysobjects where name = 'MSmerge_tombstone')
> begin
> raiserror('Creating table MSmerge_tombstone',0,1)
> create table dbo.MSmerge_tombstone
> (
> rowguid uniqueidentifier rowguidcol NOT NULL,
> tablenick int NOT NULL,
> type tinyint NOT NULL,
> lineage varbinary(249) NOT NULL,
> generation int NOT NULL,
> reason nvarchar(255) NOT NULL,
> )
> if @.@.ERROR <> 0
> goto Error
> else
> begin
> create unique clustered index uc1MSmerge_tombstone
> on MSmerge_tombstone (tablenick DESC, rowguid)
> if @.@.ERROR <> 0 goto Error
> create index nc2MSmerge_tombstone
> on MSmerge_tombstone (generation)
> if @.@.ERROR <> 0 goto Error
> end
> exec dbo.sp_MS_marksystemobject MSmerge_tombstone
> if @.@.ERROR <> 0
> goto Error
> --grant select on MSmerge_tombstone to public
> end
> if not exists (select * from sysobjects where name = 'MSmerge_contents')
> begin
> raiserror('Creating table MSmerge_contents',0,1)
> create table dbo.MSmerge_contents
> (
> tablenick int NOT NULL,
> rowguid uniqueidentifier rowguidcol NOT NULL,
> generation int NOT NULL,
> partchangegen int NULL,
> joinchangegen int NULL,
> lineage varbinary(249) NOT NULL,
> colv1 varbinary(2048) NULL,
> )
> if @.@.ERROR <> 0
> goto Error
> else
> begin
> create unique clustered index uc1SycContents on
> MSmerge_contents(tablenick, rowguid)
> if @.@.ERROR <> 0 goto Error
> create index nc2MSmerge_contents on MSmerge_contents(generation)
> if @.@.ERROR <> 0 goto Error
> create index nc3MSmerge_contents on MSmerge_contents(partchangegen)
> if @.@.ERROR <> 0 goto Error
> create index nc4MSmerge_contents on MSmerge_contents(rowguid)
> if @.@.ERROR <> 0 goto Error
> end
> exec dbo.sp_MS_marksystemobject MSmerge_contents
> if @.@.ERROR <> 0
> goto Error
> --grant select on MSmerge_contents to public
> end
> if not exists (select * from sysobjects where name = 'MSmerge_genhistory')
> begin
> raiserror('Creating table MSmerge_genhistory',0,1)
> create table dbo.MSmerge_genhistory
> (
> guidsrc uniqueidentifier NOT NULL,
> guidlocal uniqueidentifier NOT NULL,
> pubid uniqueidentifier NULL,
> generation int NOT NULL,
> art_nick int NULL,
> nicknames varbinary(1000) NOT NULL,
> coldate datetime NOT NULL
> )
> if @.@.ERROR <> 0
> goto Error
> create clustered index c1MSmerge_genhistory on
> MSmerge_genhistory(generation)
> if @.@.ERROR <> 0
> goto Error
> create unique index unc1MSmerge_genhistory on MSmerge_genhistory(guidsrc,
> pubid)
> if @.@.ERROR <> 0
> goto Error
> create index nc2MSmerge_genhistory on MSmerge_genhistory(guidlocal)
> if @.@.ERROR <> 0
> goto Error
> CREATE INDEX nc4MSmerge_genhistory ON MSmerge_genhistory(coldate)
> if @.@.ERROR <> 0
> goto Error
> exec dbo.sp_MS_marksystemobject MSmerge_genhistory
> if @.@.ERROR <> 0
> goto Error
> --grant select on MSmerge_genhistory to public
> end
> if not exists (select * from sysobjects where name =
> 'MSmerge_delete_conflicts')
> begin
> raiserror('Creating table MSmerge_delete_conflicts',0,1)
> create table dbo.MSmerge_delete_conflicts
> (
> tablenick int NOT NULL,
> rowguid uniqueidentifier rowguidcol NOT NULL,
> origin_datasource nvarchar(255) NULL,
> conflict_type int NULL,
> reason_code int NULL,
> reason_text nvarchar(720) NULL,
> pubid uniqueidentifier NULL,
> create_time datetime not null default getdate()
> )
> if @.@.ERROR <> 0
> goto Error
> else
> begin
> create clustered index uc1MSmerge_delete_conflicts on
> MSmerge_delete_conflicts(tablenick, rowguid)
> if @.@.ERROR <> 0
> goto Error
> end
> CREATE UNIQUE NONCLUSTERED INDEX nc1MSmerge_delete_conflicts
> ON MSmerge_delete_conflicts(tablenick, rowguid, origin_datasource)
> if @.@.ERROR <> 0
> goto Error
> exec dbo.sp_MS_marksystemobject MSmerge_delete_conflicts
> if @.@.ERROR <> 0
> goto Error
> --grant select on MSmerge_delete_conflicts to public
> end
> if not exists (select * from sysobjects where name =
> 'sysmergeschemachange')
> begin
> raiserror('Creating table sysmergeschemachange',0,1)
> create table dbo.sysmergeschemachange
> (
> pubid uniqueidentifier NOT NULL,
> artid uniqueidentifier NULL,
> schemaversion int NOT NULL,
> schemaguid uniqueidentifier NOT NULL,
> schematype int NOT NULL,
> schematext nvarchar(2000) NOT NULL
> )
> if @.@.ERROR <> 0
> goto Error
> else
> begin
> create unique clustered index schemachangeversion on
> sysmergeschemachange(schemaversion, pubid)
> if @.@.ERROR <> 0
> goto Error
> end
> exec dbo.sp_MS_marksystemobject sysmergeschemachange
> if @.@.ERROR <> 0
> goto Error
> --grant select on sysmergeschemachange to public
> end
> if not exists (select * from sysobjects where name =
> 'sysmergesubsetfilters')
> begin
> raiserror('Creating table sysmergesubsetfilters',0,1)
>
> create table dbo.sysmergesubsetfilters (
> filtername sysname NOT NULL,
> join_filterid int identity NOT NULL,
> pubid uniqueidentifier NOT NULL,
> artid uniqueidentifier NOT NULL,
> art_nickname int NOT NULL,
> join_articlename sysname NOT NULL,
> join_nickname int NOT NULL,
> join_unique_key int NOT NULL,
> expand_proc sysname NULL,
> join_filterclause nvarchar(1000) NULL
> )
> if @.@.ERROR <> 0
> goto Error
> CREATE UNIQUE NONCLUSTERED INDEX nc1sysmergesubsetfilters
> ON sysmergesubsetfilters(join_filterid, pubid)
> if @.@.ERROR <> 0
> goto Error
> exec dbo.sp_MS_marksystemobject sysmergesubsetfilters
> if @.@.ERROR <> 0
> goto Error
> --grant select on sysmergesubsetfilters to public
> end
> if @.@.error <> 0
> goto Error
> if not exists (select * from sysobjects where name =
> 'MSdynamicsnapshotviews')
> begin
> raiserror('Creating table MSdynamicsnapshotviews',0,1)
> create table dbo.MSdynamicsnapshotviews (
> dynamic_snapshot_view_name sysname primary key
> )
> if @.@.ERROR <> 0
> goto Error
> exec dbo.sp_MS_marksystemobject MSdynamicsnapshotviews
> end
> if not exists (select * from sysobjects where name =
> 'MSdynamicsnapshotjobs')
> begin
> raiserror('Creating table MSdynamicsnapshotjobs',0,1)
> create table dbo.MSdynamicsnapshotjobs (
> id int identity,
> name sysname not null unique,
> pubid uniqueidentifier not null,
> job_id uniqueidentifier not null,
> dynamic_filter_login sysname null,
> dynamic_filter_hostname sysname null,
> dynamic_snapshot_location nvarchar(255) not null
> )
> if @.@.ERROR <> 0
> goto Error
> exec dbo.sp_MS_marksystemobject MSdynamicsnapshotjobs
> create unique clustered index uciMSdynamicsnapshotjobs on
> dbo.MSdynamicsnapshotjobs(job_id, pubid)
> if @.@.ERROR <> 0
> goto Error
>
> end
> if @.@.error <> 0
> goto Error
> if not exists (select * from sysobjects where name =
> 'MSmerge_altsyncpartners')
> begin
> raiserror('Creating table MSmerge_altsyncpartners',0,1)
> create table dbo.MSmerge_altsyncpartners (
> subid uniqueidentifier not null,
> alternate_subid uniqueidentifier not null,
> description nvarchar(255) NULL
> )
> if @.@.ERROR <> 0
> goto Error
> exec dbo.sp_MS_marksystemobject MSmerge_altsyncpartners
> create unique clustered index uciMSmerge_altsyncpartners on
> dbo.MSmerge_altsyncpartners(subid, alternate_subid)
> if @.@.ERROR <> 0
> goto Error
>
> end
>
> if exists (select * from master..sysobjects where type='P' and
> name='sp_MScreatedebuginfrastructure')
> begin
> declare @.retval int
> exec @.retval= dbo.sp_MScreatedebuginfrastructure
> if @.@.ERROR <> 0 or @.retval <> 0 goto Error
> end
> commit transaction
> return (0)
> Error:
> if @.@.trancount > 0
> begin
> ROLLBACK TRANSACTION MScreate_mergesystables
> COMMIT TRANSACTION
> end
> RAISERROR (20008, 16, -1)
> return (1)
|||No, this was just a test/develope server so I can set it back up by
reinstalling SQL. But this is the second time it's happened, I can
duplicate it easily, I would just like to find out what's causing it so that
it doesn't happen on our production server.
|||Then definitely post something to reproduce it. I've hit this same thing
several times in the past and hav never been able to reliably reproduce it.
I can get it to reoccur, but not reproduce when I want it to. It is related
to doing many cycles of putting replication in and taking it back out. I've
always fixed this by going in and explicitly recreating the table(s). BOL
has all of the column definitions listed.
Mike
http://www.solidqualitylearning.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference.
"Heather B." <hbaker@.pro-merchnospam.com> wrote in message
news:0a44768a00d845729724b964d5f84646@.ureader.com. ..
> No, this was just a test/develope server so I can set it back up by
> reinstalling SQL. But this is the second time it's happened, I can
> duplicate it easily, I would just like to find out what's causing it so
> that
> it doesn't happen on our production server.
|||Try running this stored procedure against each database that you have
deleted merge replication from:
Use [Your DataBase Name]
EXEC sp_removedbreplication
Go
|||Try running the following against every database where you have deleted
Merge Replication:
Use [DataBaseName]
EXEC sp_removedbreplication
go
*** Sent via Developersdex http://www.codecomments.com ***
sql

Invalid object name 'dbo.MSmerge_tombstone'

Running SQL 2005/Win 2003 (publisher/distributor) & SQL 2000/Win 2003
(subscriber).
Lat night around 6:30, 7 of my 15 subscriptions to one publication
started to fail with the message below. I am not using merge
anywhere, currently, though I have had a merge publication in the past
that all 15 subscrivers, subscribed to. The publication is currently
a phamtom one that I cannot delete. They do not appear in the local
publications folder, but only in the replicaiton monitor for the
original publisher.
I do not know if these are related, but any help will be appreciated.
Larry...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Command attempted:
if @.@.trancount > 0 rollback tran
(Transaction sequence number: 0x0000147E0000451A001900000000, Command
ID: 1)
Error messages:
Invalid object name 'dbo.MSmerge_tombstone'. (Source: MSSQLServer,
Error number: 208)
Get help: http://help/208
Invalid object name 'dbo.MSmerge_tombstone'. (Source: MSSQLServer,
Error number: 208)
Get help: http://help/208
Could not use view or function 'tsvw_842FD9495DB74084823D364E97EB6D70'
because of binding errors. (Source: MSSQLServer, Error number: 4413)
Get help: http://help/4413
Invalid object name 'dbo.MSmerge_tombstone'. (Source: MSSQLServer,
Error number: 208)
Get help: http://help/208
Could not use view or function 'tsvw_842FD9495DB74084823D364E97EB6D70'
because of binding errors. (Source: MSSQLServer, Error number: 4413)
Get help: http://help/4413
Invalid object name 'dbo.MSmerge_tombstone'. (Source: MSSQLServer,
Error number: 208)
Get help: http://help/208
check to see if you have a merge replication trigger on one of the
subscriber tables. Looks like merge replication was not completely removed.
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"LPR-3rd" <lreames@.gmail.com> wrote in message
news:1170175947.713622.18830@.v45g2000cwv.googlegro ups.com...
> Running SQL 2005/Win 2003 (publisher/distributor) & SQL 2000/Win 2003
> (subscriber).
> Lat night around 6:30, 7 of my 15 subscriptions to one publication
> started to fail with the message below. I am not using merge
> anywhere, currently, though I have had a merge publication in the past
> that all 15 subscrivers, subscribed to. The publication is currently
> a phamtom one that I cannot delete. They do not appear in the local
> publications folder, but only in the replicaiton monitor for the
> original publisher.
> I do not know if these are related, but any help will be appreciated.
> Larry...
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Command attempted:
> if @.@.trancount > 0 rollback tran
> (Transaction sequence number: 0x0000147E0000451A001900000000, Command
> ID: 1)
> Error messages:
> Invalid object name 'dbo.MSmerge_tombstone'. (Source: MSSQLServer,
> Error number: 208)
> Get help: http://help/208
> Invalid object name 'dbo.MSmerge_tombstone'. (Source: MSSQLServer,
> Error number: 208)
> Get help: http://help/208
> Could not use view or function 'tsvw_842FD9495DB74084823D364E97EB6D70'
> because of binding errors. (Source: MSSQLServer, Error number: 4413)
> Get help: http://help/4413
> Invalid object name 'dbo.MSmerge_tombstone'. (Source: MSSQLServer,
> Error number: 208)
> Get help: http://help/208
> Could not use view or function 'tsvw_842FD9495DB74084823D364E97EB6D70'
> because of binding errors. (Source: MSSQLServer, Error number: 4413)
> Get help: http://help/4413
> Invalid object name 'dbo.MSmerge_tombstone'. (Source: MSSQLServer,
> Error number: 208)
> Get help: http://help/208
>

Monday, March 19, 2012

Invalid Descriptor Index

I have a Sql Server 2000 SP3 Publisher that performs merge replication with a group of MSDE 2000 SP3 subscribers.
Everything was working fine. I had to make changes to the publication and reinit the subscribers. Some subscribers are working fine. Others are getting an error. The error is
The process could not enumerate changes at the 'Subscriber'.
The process could not enumerate changes at the 'Subscriber'.
(Source: Merge Replication Provider (Agent); Error number: -2147200999)
------
Invalid Descriptor Index
(Source: XXXXXXXX(Data source); Error number: 0)
------
Anyone know what might cause this? And the solution for it?
90 % of the failure to enumerat changes errors can be cleared by restarting the agent.
In your case the invalid descriptor index is unusual and points to an ODBC error. SQL Server replication uses ODBC to communicate between servers.
There are some reports that you can clear this error by rearranging your columns returned in your results set.
It sounds like this might be a bug.
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
|||"There are some reports that you can clear this error by rearranging your columns returned in your results set."
I can't rearrange anything since its setup from replication itself. Its wierd because some subscribers to go through fine, others are failing with the error.
|||Is this error a transient error for these subscribers? Are these subscribers at the same MDAC, sp, hot fix level for that the successful subscribers are at?
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html

Invalid Descriptor Index

Hi,
I have setup snapshot pull replication between SQL2000 (publisher) and
MSDE2000 (subscriber).
The following error "Invalid Descriptor Index" is occuring on the
subscriber. Would someone please tell me what this error means and how to
get around it?
Thanks
reapply sp3 on the subscriber.
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
"mm" <postto@.news.com> wrote in message
news:u8luytqlEHA.2492@.TK2MSFTNGP15.phx.gbl...
> Hi,
> I have setup snapshot pull replication between SQL2000 (publisher) and
> MSDE2000 (subscriber).
> The following error "Invalid Descriptor Index" is occuring on the
> subscriber. Would someone please tell me what this error means and how to
> get around it?
> Thanks
>

Invalid cursor state

Hi! I want to build up a transactional replication between 2 SQL Server 2000. The Publisher is also the distributor.
I used all the wizards and after i made the subscriber, I get an error at the distribution agent:
Invalid cursor state
(Source: ODBC Driver Manager (ODBC); Error number: 24000)
What should i do now?
Please help, thank you!!
Is this error reproducible? For instance if you restart your Distribution
Agent do you get it again?
Hilary Cotter
Looking for a book on SQL Server replication?
http://www.nwsu.com/0974973602.html
"oselinge" <oselinge@.discussions.microsoft.com> wrote in message
news:98B5BAD5-2551-4279-9B74-40A6481FF3E1@.microsoft.com...
> Hi! I want to build up a transactional replication between 2 SQL Server
2000. The Publisher is also the distributor.
> I used all the wizards and after i made the subscriber, I get an error at
the distribution agent:
> Invalid cursor state
> (Source: ODBC Driver Manager (ODBC); Error number: 24000)
> What should i do now?
> Please help, thank you!!
|||Yes, I get it again! I often tried to restart, but everytime i got this error.
"Hilary Cotter" wrote:

> Is this error reproducible? For instance if you restart your Distribution
> Agent do you get it again?
> --
> Hilary Cotter
> Looking for a book on SQL Server replication?
> http://www.nwsu.com/0974973602.html
>
> "oselinge" <oselinge@.discussions.microsoft.com> wrote in message
> news:98B5BAD5-2551-4279-9B74-40A6481FF3E1@.microsoft.com...
> 2000. The Publisher is also the distributor.
> the distribution agent:
>
>
|||Oselinge,
usually this is an MDAC/ODBC error - hopefully this
article applies to your case:
http://support.microsoft.com/default.aspx?kbid=831997
HTH,
Paul Ibison
|||I think this is not the reason for this error.
Any other ideas?
"Paul Ibison" wrote:

> Oselinge,
> usually this is an MDAC/ODBC error - hopefully this
> article applies to your case:
> http://support.microsoft.com/default.aspx?kbid=831997
> HTH,
> Paul Ibison
>

Monday, March 12, 2012

Invalid column name 'rowguiedcol' - error number 207

"The process could not deliver the snapshot to the Subscriber"
I added a new database to the same server as the publisher and distributor.
The error ocurred when pushing a new subscription to it.
I did indicate that the subscriber already has the schema and data.
Any ideas for correcting?
thanks,
bob
Sounds like the table you are replicating to has an extra column in it which
is not in the publisher. Look for a column called rowguidcol and delete it.
If you get an error message complaining that this table is published for
replication or a similar message, verify that this table is not published,
or published to.
If it is you might have to do the following:
exec sp_configure N'allow updates', 1
go
reconfigure with override
go
UPDATE syscolumns set colstat = colstat & ~4096 WHERE colstat &4096 <>0
GO
UPDATE sysobjects set replinfo=0
GO
and then issue a sp_MSunmarkreplinfo against the problem table
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
"Robert A. DiFrancesco" <bob.difrancesco@.comcash.com> wrote in message
news:umf1ACevEHA.2520@.TK2MSFTNGP15.phx.gbl...
> "The process could not deliver the snapshot to the Subscriber"
> I added a new database to the same server as the publisher and
distributor.
> The error ocurred when pushing a new subscription to it.
> I did indicate that the subscriber already has the schema and data.
> Any ideas for correcting?
> thanks,
> bob
>