Configuration Manager 2012 replikációs problémák kezelése
Több helyen elojött a közelmúltban, hogy System Center Configuration Manager 2012 SP1-re való frissítése után SQL Server Service Broker replikációs hibák léptek fel. A Configuration Manager konzolban a Monitoring workspace alatt a Data Replication “Link Failed” státuszt mutatott a replikációs útvonalaknál, és a link kiválasztása után az útvonalhoz tartozó Replication Group-ok “Failed” Initialization Status-t mutattak.
Bizonyos esetekben ez betudható volt annak, hogy az adatbázist tartalmazó köteten ideiglenesen elfogyott a tárhely.
Mielott az alábbi, replikációt helyreállító lépéseket éles rendszeren végrehajtjuk, legyen aktuális Configuration Manager Site mentésünk, vagy legalább egy biztonsági mentés a site adatbázisról. Javasolt a Microsoft Terméktámogatást felkeresni az ilyen jellegu problémákkal, mivel elképzelheto, hogy a hiba, bár hasonló jeleket mutat, de mégis más eredetu.
A problémás Replication Group-ok újrainicializálásához nyissunk eloször egy új lekérdezo ablakot (Query window) SQL Server Management Studio-ban, majd futtassuk le az alábbi lekérdezést:
update RCM_DrsInitializationTracking set InitializationStatus = 7 where ReplicationGroup = '<Failing Replication Group name>' and SiteRequesting = '<Site code for requesting site>' and SiteFulfilling = '<Site code for fulfilling site>'
Ha tehát például a Collection_Membership Replication Group-unk nem tud inicializálódni, az alábbi lekérdezéssel tudjuk ezt kikényszeríteni a CAS site-unkon (C01) az alárendelt primary site felol (P01):
update RCM_DrsInitializationTracking set InitializationStatus = 7 where ReplicationGroup = 'Collection_Membership' and SiteRequesting = 'C01' and SiteFulfilling = 'P01'
Hasonlóképpen járjunk el az összes többi problémás
Replication Group-nál is.
Elofordulhat, hogy a fenti lépések után továbbra is hasonló bejegyzéseket találunk az RCMCtrl.log-ban (részletes logolás esetén):
CSqlBCP::BCPIN: bcp_exec failed. SMS_REPLICATION_CONFIGURATION_MONITOR 1/1/1601 12:00:00 AM 2400 (0x0960)
*** DRS_Init_BCPIN() failed SMS_REPLICATION_CONFIGURATION_MONITOR 1/1/1601 12:00:00 AM 2400 (0x0960)
*** BCP fails due to internal sql error. Check if this table has a trigger failed to execute. SMS_REPLICATION_CONFIGURATION_MONITOR 1/1/1601 12:00:00 AM 2400 (0x0960)
CBulkInsert::DRS_Init_BCPIN : Failed to BCP in SMS_REPLICATION_CONFIGURATION_MONITOR 1/1/1601 12:00:00 AM 2400 (0x0960)
BCP in result is 2147500037. SMS_REPLICATION_CONFIGURATION_MONITOR 1/1/1601 12:00:00 AM 2400 (0x0960)
ERROR: Failed to BCP in for table CI_CurrentComplianceStatus with error code 2147500037. SMS_REPLICATION_CONFIGURATION_MONITOR 1/1/1601 12:00:00 AM 2400 (0x0960)
ERROR: Failed to apply BCP for all articles in publication General_Site_Data. SMS_REPLICATION_CONFIGURATION_MONITOR 1/1/1601 12:00:00 AM 2400 (0x0960)
Ebben az esetben kapcsoljunk ki minden triggert az érintett adatbázis táblán (a fenti példánkban ez CI_CurrentComplianceStatus), majd ezután kényszerítsük ki megint az inicializálást.
Miután a Replication Group sikeresen inicializálódott, ne felejtsük el a kikapcsolt triggereket visszakapcsolni. (Vigyázat, nem mindegyik trigger van alapból bekapcsolva a táblákon!)