The docs say:
Contact Synchronization is performed by the Synchronization service.
The service loops over the active Synchronization Targets that have a
URL for Contact Synchronization Server defined and, for each server,
synchronizes the Segments and the new/changed/deleted Contacts.
Does this happen regardless of whether a synchronisation target is assigned to a publication?
Background
I have STAGE and LIVE env’s, separated by a firewall – our ASP.NET website deployed to both makes use of Audience Manager as store for ASP.NET membership.
STAGE has profilesync.aspx and OE APIs/CD setup to use a STAGE_submgmt table so the staging site can function correctly – but how do I get contacts into this table?
If I create a new sync target to point to the profilesync.aspx on STAGE, I can’t assign this to a publication because they use the LIVE sync target. Does that matter?
Or is just quicker to just do a manual backup/restore of the LIVE submgmt table and not bother with sync on STAGE at all.
Synchronization Targets will be used even if they are not assigned to a Publication (unless you deactivate them using the checkbox on the editing screen). However, no Contacts would be synchronized in that case – since there are no Address Books to sync. Other items – like Segments and tracking information – will still be synchronized.
I’m a bit confused about your setup. Why would the Publications on your staging system point to the Synchronization Targets of your live system? That would mean that the Contacts on your staging environment are synchronized to your live website. Since you created separate databases for it, I assume this is not what you want.
In that case, I strongly recommend deleting the “Live” Synchronization Targets on your staging environment and only adding the ones for your staging database. Otherwise your staging environment is actively interacting with your live environment.
Edit: Remember: Contacts are not content. They are not published, but synchronized. Most people do not manage Contacts themselves, leaving it up to the website users themselves to maintain their profile. So you also have the option to not have separate databases for staging. It all depends on how you intend to use it. If you do want separate databases, you will need to have separate Content Manager instances for them too.