Inicializálni az előfizetést manuálisan

A következőkre vonatkozik:SQL ServerAzure SQL Managed Instance

Ez a téma bemutatja, hogyan lehet manuálisan inicializálni az előfizetést az SQL Server-ben az SQL Server Management Studio vagy a Transact-SQL használatával. Míg az első pillanatképet általában az előfizetés inicializálására használják, a kiadványokra való előfizetések inicializálhatók snapshot nélkül, feltéve, hogy a séma és az eredeti adatok már jelen vannak az előfizetőnél.

Korlátozások és korlátozások

  • Ha egy adatbázisban tranzakciós replikációval közzétett tevékenység történik az adat és séma másolása és az előfizetés manuális inicializálásának időpontja között, az ebből eredő változások nem feltétlenül replikálódnak az Előfizetőnek.

Az SQL Server Management Studio használata

Indítsd el a kiadvány előfizetését manuálisan úgy, hogy a sémát (és általában az adatokat) másolod az előfizetési adatbázisba. A sémának és az adatoknak egyezniük kell a publikációs adatbázissal. Ezután az Új előfizetés varázsló Előfizetések inicializálása oldalán add meg, hogy az előfizetés nem igényel sémát és adatokat. További információkért a varázsló elérésével kapcsolatban lásd: Tranzakciós előfizetés inicializálása pillanatkép nélkül és Lekéréses előfizetés létrehozása.

Amikor először szinkronizálod az előfizetést, a replikációhoz szükséges objektumok és metaadatok átmásolódnak az előfizetési adatbázisba.

Egy kiadvány előfizetésének kézi indítása

  1. Győződjön meg arról, hogy a séma és az adatok át vannak másolva az előfizetői adatbázisba.

  2. Töröld az Inicializálás jelölőnégyzetet az Új Előfizetések Varázslóján található Előfizetések Inicializálása oldalán. Ezt minden előfizetésnél tedd meg, amelyhez csak replikációs objektumokat és metaadatokat kell másolni.

Transact-SQL használata

Az előfizetések manuálisan inicializálhatók replikációs tárolt eljárások segítségével.

Manuálisan inicializálni egy pull előfizetést egy tranzakciós kiadványhoz

  1. Győződj meg róla, hogy a séma és az adatok megtalálhatók az előfizetési adatbázisban. További információ: Tranzakciós előfizetés inicializálása pillanatkép nélkül.

  2. A publikációs adatbázis Publisher-ján hajtsd végre a sp_addsubscription. Adja meg a @publication, @subscriber paramétereket, az Előfizetőn annak az adatbázisnak a nevét a(z) @destination_db paraméterhez, amely a közzétett adatokat tartalmazza, a(z) @subscription_type paraméterhez a pull értéket, valamint a(z) @sync_type paraméterhez a replication support only értéket. További információ: Lekéréses előfizetés létrehozása.

  3. Hajtsa végre az Előfizetőnél a sp_addpullsubscription parancsot. Az előfizetések frissítéséért lásd: Frissíthető előfizetés létrehozása tranzakciós kiadványhoz.

  4. Az előfizetőnél futtassa a sp_addpullsubscription_agent parancsot. További információ: Lekéréses előfizetés létrehozása.

  5. Indítsd el a Distribution Agent-t, hogy átvigye a replikációs objektumokat, és letöltsd a legfrissebb változásokat a Publisher-ről. További információ: Lekéréses előfizetés szinkronizálása.

Manuálisan inicializálni egy push előfizetést egy tranzakciós kiadványhoz

  1. Győződj meg róla, hogy a séma és az adatok megtalálhatók az előfizetési adatbázisban. További információ: Tranzakciós előfizetés inicializálása pillanatkép nélkül.

  2. A közzétételi adatbázis Közzétevőjén hajtsa végre a sp_addsubscription parancsot. Megadja az előfizetőnél az adatbázis nevét, amely tartalmazza a @destination_db publikált adatait, a push értéket @subscription_type esetén, valamint a replikáció támogatásának értékét csak@sync_type esetén. Az előfizetések frissítéséért lásd: Frissíthető előfizetés létrehozása tranzakciós kiadványhoz.

  3. A Közzétevőn, a közzétételi adatbázisban hajtsa végre a sp_addpushsubscription_agent parancsot. További információért lásd: Push-előfizetés létrehozása.

  4. Indítsd el a Distribution Agent-t, hogy átvigye a replikációs objektumokat, és letöltsd a legfrissebb változásokat a Publisher-ről. További információ: Leküldéses előfizetés szinkronizálása.

Egy egyesítéses közzététel pull előfizetésének kézi inicializálása

  1. Győződj meg róla, hogy a séma és az adatok megtalálhatók az előfizetési adatbázisban. Ezt úgy lehet megtenni, hogy visszaállítjuk a kiadvány adatbázisának biztonsági mentését az Előfizetőnél.

  2. A Publisheren hajtsa végre a(z) sp_addmergesubscription parancsot. Adja meg a @publication, @subscriber, @subscriber_db paramétereket, valamint a(z) @subscription_type paraméterhez a pull értéket. Ez regisztrálja a lekéréses előfizetést.

  3. A közzétett adatokat tartalmazó adatbázis előfizetőnél hajtsd végre a sp_addmergepullsubscription. Adja meg a(z) none értéket a(z) @sync_type számára.

  4. Az Előfizetőn futtassa a(z) sp_addmergepullsubscription_agent parancsot. További információ: Lekéréses előfizetés létrehozása.

  5. Indítsd el a Merge Agent-t, hogy áthelyezd replikációs objektumokat és töltsd le a legfrissebb változásokat a Publisher-ről. További információ: Lekéréses előfizetés szinkronizálása.

Manuálisan inicializálni egy push előfizetést egy merge kiadványhoz

  1. Győződj meg róla, hogy a séma és az adatok megtalálhatók az előfizetési adatbázisban. Ezt úgy lehet megtenni, hogy visszaállítjuk a kiadvány adatbázisának biztonsági mentését az Előfizetőnél.

  2. A Közzétevőn, a közzétételi adatbázisban hajtsa végre a sp_addmergesubscription parancsot. Adja meg az Előfizetőn annak az adatbázisnak a nevét, amely a közzétett adatokat tartalmazza a @subscriber_db paraméterhez, a push értéket a @subscription_type paraméterhez, valamint a none értéket a @sync_type paraméterhez.

  3. A Publishernél, a publikációs adatbázisban hajtsa végre a(z) sp_addmergepushsubscription_agent utasítást. További információért lásd: Push-előfizetés létrehozása.

  4. Indítsd el a Merge Agent-t, hogy áthelyezd replikációs objektumokat és töltsd le a legfrissebb változásokat a Publisher-ről. További információ: Leküldéses előfizetés szinkronizálása.