Transactional Replication without snapshot replication (SQL Server 2005)?

  • Hi,

    I have created a tranasctional replication with a number of articles and filters which takes the data from our internal database of the organisation to an external database. This is working fine since many months.

    The filters are applied so that it does not overwrite certain records on some of the tables on the external database (Data is also captured on the certain external tables).

    Occasianally, I do have to delete the replication when the application software is being updated. But after this when I recreate the transactional replication, it completely wipes out the external table contents and then replicates data from the internal database. As a result the data added directly on the external tables are also deleted - which I would like to preserve.

    Therefore, I was just wondering if a transactional replication can be created without snapshot replication? Because it is the snapshot replication which wipes out the destination data.

    Any alternative solution will also be considered.

    Thanks guys.

  • Yes, it can be set up with out Sanpshot. You just have to know for sure that the data is in Synch. When you set up the replication, there is an option where you can specify that no Snapshot is needed.

    -Roy

  • You can also on a per article basis tell the the publication not to delete the data at snapshot time.


    * Noel

  • Hi Roy,

    Where can you specify that no Snapshot is needed on the Management Studio? I have failed to find this option.

  • Which version are you using? SQL 2000 or SQL 2005?

    If 2005, in the publication wizard, when it reaches the snapshot agent section, make sure you have both the Create Snapshot and Schedule Snapshot unchecked (Ok..This is how I did it.There are others who have better knowledge than me who can say if I wrong or if there is better way to do it).

    If you are running as a script, it will look like this

    exec sp_addpublication @publication = N'Test', @description = N'Transactional publication of database ''Test'' from Publisher ''TestSrv''.', @sync_method = N'concurrent', @retention = 0, @allow_push = N'true', @allow_pull = N'true', @allow_anonymous = N'false', @allow_subscription_copy = N'false', @add_to_active_directory = N'false', @repl_freq = N'continuous', @status = N'active', @independent_agent = N'true', @immediate_sync = N'false', @allow_sync_tran = N'false', @autogen_sync_procs = N'false', @allow_queued_tran = N'false', @allow_dts = N'false', @replicate_ddl = 1, @allow_initialize_from_backup = N'false', @enabled_for_p2p = N'false', @enabled_for_het_sub = N'false'

    GO

    -Roy

  • Hi Roy,

    Yes, you can create like that but without re-initialising the subscription/running the snapshot again, data from internal to external databases does not get pushed at all.

    Hi noeld

    Yes, I had missed to set that option. Have done it which did the magic. (default option in sql server 2005 is to drop the table before re-synchronising.) - Thanks

  • Glad you got it working!


    * Noel

  • Hi,

    how to configure pull subscribe to publication in snapshot replication or transactional replication on sql 2005 but my servers are all stand-alone servers

    please Help me ..................

    this is email id : suresh.kumar@heymath.com

  • Hi Suresh,

    It is always better to start this question as a new thread. Then it will be noticed better and you could get answer more quickly. It does not matter if the Servers are standalone. You can still do replication. The only thing you have to keep in mind is that the user that is used for replication, The service account ect should be able to access network shares.

    Start a new thread with more details. For example where you are getting stuck ect

    -Roy

  • Does anybody know how to replicate a DB from 2005 to 2008? It will not let me add 2008 as a subscriber? any ideas?

    MCSE SQL Server 2012\2014\2016

  • Hi Roy Ernest,

    Sub :Synchronization failed - Due to OS 3 error

    I am using SQL2005. I created a publication on one SQL Server and am trying to do a pull Subscription from another SQL Server. It all sets up fine. I create the snapshot. Then I create the subscription to pull. The Synchronization is failing. This is the message in the

    history log.

    the process could not read C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\repldata\Test\20070608101042\vehicle_report_log_18.pre' due to OS error 3.

    2007-06-08 15:12:15.643 Category:OS

    Source:

    Number: 3

    Message: The system cannot find the path specified.

    i have share network path for publication server.

    Any help would be appreciated.

    Thanks

    M.Sureshkumar

  • What is the user that is running the Replication Agent? And also what is the user that is running the SQL Server Agent? They both need to have modify permission on the specified folder (Network Share) both from the publisher and the distributor. This is a permission issue.

    -Roy

  • you need to do it in 2008 management studio

    --Hari

  • It's the Database!!! (6/29/2009)


    Does anybody know how to replicate a DB from 2005 to 2008? It will not let me add 2008 as a subscriber? any ideas?

    It is about the Distribution database, which has to be the same version as the subscriber. So you will have to move the distribution db at subscriber.

    Don't just give the hungry man a fish, teach him how to catch it as well.

    the sqlist

  • Thanks however this was 3 years and 2 companys ago! 😀

    MCSE SQL Server 2012\2014\2016

Viewing 15 posts - 1 through 15 (of 15 total)

You must be logged in to reply to this topic. Login to reply