0

I am trying to implement a transactional replication in 2008. Both the publisher and subscriber are in 2008 version.So far so good.

The publisher database is in 2005 compatibility mode. It has a table which has two columns with the data type 'date' which is new in 2008. So for the replication, when bcp files are generated while taking initial snapshot, because the publisher is in 2005 mode, it generates a snapshot thinking that it is going to apply the same on a 2005 mode db and thus the snapshot fails because 'date' data type is not supported in 2005.

Please suggest some remedy other than changign the compatibiliy level. Is there any option which i can choose to tell the snapshot agent that it should generate snapshot for a true 2008 susbcriber.

Thanks in advance!

Chandan Jha

Community
  • 1
  • 1
  • Why/how do you get into a situation where you need the DB to be in 2005 compatibility, but are using 2008 features also? – Damien_The_Unbeliever Aug 11 '11 at 10:49
  • @Damien_The_Unbeliever: Why not? This is an easy situation to get into! Some significant bulk of your code, run against the DB directly, would need to be updated to support the new compatibility mode, so you keep the old one, but you want to use a new feature sometimes so you use that new feature from the `master` DB, or you switch compatibility mode, create a stored proc that uses new features, and switch back - I've had to do both these things a few times... The real question is: Why wouldn't replication completely ignore compatibility levels?? – Tao Aug 12 '11 at 11:44

1 Answers1

0

The db is on 2008 server but its compatibility mode is 2005. So when the snapshot agent reads the schema of the table it fails to script it because date is not a supported data type in 2005.