Delete records in Peer to Peer Replication in SQL Server 2008 R2 We have a peer-to-peer replication setup on our real time servers I want to delete records from some of the tables that are involved in the replication. I'm using a stored procedure to do this. Some of the tables have 8+ million records. I want to know if by running the stored procedure on one server is good enough or do i need to run on both the servers? And if I run on just one server how does it impact the performance? Please recommend any best practices for this process. This needs to be run as a job every month.
Peer to Peer is transactional. So the log reader will re-generate the result of the delete, row by row based on the transaction log. The there will be 8+ million delete operations performed on each of the other nodes. And, yes, you only run the procedure on one node. But as you probably understand, having row-by-row as the end result is far from optimal.

An option is to include the procedure in your publication. This mean that SL server will, for you, execute that procedure on the other nodes (instead of sniffing the log).

Above is for transaction replication. I can't say how peer to peer changes things, if they do. Make sure to test thoroughly.

https://docs.microsoft.com/en-us/sql/relational-databases/replication/transactional/publishing-stored-procedure-execution-in-transactional-replication?view=sql-server-2017