Test 2 For existing Replication which was initialized using snapshot files, remove only subscription and test.
Try with existing publication initialize from backup and add table from GUI and T-SQL.
Try add new table in GUI and start the snapshot agent and check –Working
Try adding new table by using sp_addarticle (Do not run sp_refreshsubscriptions) T-SQL for single article and start the snapshot agent and check – Working
Note: Only issue if we leave all tables in subscriber database after the restoration, if you want to replicate later remaining tables that’s not replicating it.
If you drop tables in subscriber and add it in the replication it is working.
Add only single table method – Working
Add only table using normal GUI and start the snapshot agent – Working
-- Check and change allow_anonymous & immediate_sync 0 i.e false use Muthu EXEC sp_helppublication @publication='Muthu_Replica' --T-SQL: To enable this publication option we need execute the "sp_changepublication" stored procedure at the Publisher on the publication database. use Muthu EXEC sp_changepublication @publication = 'Muthu_Replica', @property = 'allow_initialize_from_backup', @value = 'True' GO --When immediate sync is on, all changes in the log are tracked immediately after the initial snapshot is generated even if there are no subscriptions. EXEC sp_changepublication @publication = 'Muthu_Replica', @property = 'immediate_sync', @value = 'True' GO -- backup the db backup database [Muthu] to disk ='\\NODE1\Repl_Snap_files\Muthu_Replica_full.bak' with init backup database [Muthu] to disk ='\\NODE1\Repl_Snap_files\Muthu_Replica_diff.bak' with differential,init --Go to subscriber use master restore filelistonly from disk = '\\NODE1\Repl_Snap_files\Muthu_Replica_full.bak' alter database [Muthu_Replica] set single_user with rollback immediate restore database [Muthu_Replica] from disk ='\\NODE1\Repl_Snap_files\Muthu_Replica_full.bak' with move 'Muthu'to'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\Muthu_Replica.mdf', move 'Muthu_log'to'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\Muthu_Replica_log.ldf', replace,norecovery restore database Muthu_Replica from disk ='\\NODE1\Repl_Snap_files\Muthu_Replica_diff.bak' with recovery /* Execute the stored procedure sp_addsubscription at the Publisher on the publication database, Specify the following parameter: @sync_type = 'initialize with backup', @backupdevicetype = 'Disk', @backupdevicename = 'Backup Path' */ DECLARE @publication AS sysname; DECLARE @subscriber AS sysname; DECLARE @subscriptionDB AS sysname; SET @publication = N'Muthu_Replica'; -- change SET @subscriber = N'Node2'; -- cahnge SET @subscriptionDB = N'Muthu_Replica'; -- change --Add a push subscription to a transactional publication. USE [Muthu] EXEC sp_addsubscription @publication = @publication, @subscriber = @subscriber, @destination_db = @subscriptionDB, @subscription_type = N'push', @sync_type = 'initialize with backup', @backupdevicetype = 'Disk', @backupdevicename = '\\NODE1\Repl_Snap_files\Muthu_Replica_diff.bak', -- change @update_mode = N'read only'; -- insert a row and validate select * from [dbo].[Repl_Tbl1] insert into [dbo].[Repl_Tbl1] values (7,'BB',getdate()) -- to add new table use how to add single artile into existing publication create table [dbo].[Repl_Tbl7] (ID int primary key) insert into [Repl_Tbl7] values (1)