Anlık Görüntü ve İşlem Çoğaltmasını Yedekleme ve Geri Yükleme Stratejileri

Şunlar için geçerlidir:SQL ServerAzure SQL Veritabanı

Anlık görüntü ve işlem çoğaltması için bir yedekleme ve geri yükleme stratejisi tasarladığınızda, göz önünde bulundurmanız gereken üç alan vardır:

  • Hangi veritabanlarının yedekleneceği?
  • İşlem çoğaltması için yedekleme ayarları.
  • Veritabanını geri yüklemek için gereken adımlar. Bunlar, çoğaltma türüne ve seçilen seçeneklere bağlıdır.

Bu konu, sonraki üç bölümde bu alanların her birini kapsar. Oracle yayımlama için yedekleme ve geri yükleme hakkında bilgi için bkz. Oracle Publishers için Yedekleme ve Geri Yükleme.

Uyarı

Azure SQL Yönetilen Örnek, anlık görüntü ve işlem çoğaltması için yayımcı, dağıtıcı ve abone olarak kullanılabilir. Azure SQL Veritabanı'ndaki veritabanları yalnızca anlık görüntü ve işlem çoğaltması için gönderim aboneleri olabilir. Daha fazla bilgi için bkz. Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği ile işlem çoğaltması.

Veritabanlarını Yedekleme

Anlık görüntü ve işlem çoğaltması için aşağıdaki veritabanlarını düzenli olarak yedeklemeniz gerekir:

  • Publisher'daki yayın veritabanı.

  • Dağıtımcıdaki dağıtım veritabanı.

  • Her abonedeki abonelik veritabanı.

  • Yayımcı, Dağıtımcı ve tüm Aboneler'deki ana ve msdb sistem veritabanları. Bu veritabanları, birbiriyle ve ilgili çoğaltma veritabanıyla aynı anda yedeklenmelidir. Örneğin, yayın veritabanını yedeklediğiniz sırada Publisher'daki ana ve msdb veritabanlarını yedekleyin. Yayın veritabanı geri yüklenirse, çoğaltma yapılandırması ve ayarlarıyla ilgili olarak ana ve msdb veritabanlarının yayın veritabanıyla tutarlı olduğundan emin olun.

Normal günlük yedeklemeleri gerçekleştirirseniz, çoğaltmayla ilgili tüm değişiklikler günlük yedeklemelerinde yakalanmalıdır. Günlük yedeklemeleri yapmazsanız, çoğaltmayla ilgili bir ayar değiştirildiğinde bir yedekleme gerçekleştirilmelidir. Daha fazla bilgi için bkz. Güncelleştirilmiş Yedekleme Gerektiren Yaygın Eylemler.

İşlem Çoğaltma için Yedekleme Ayarları

Transaksiyonel çoğaltma, dağıtım veritabanı ile yayın veritabanında ayarlanabilen yedekleme ile eşitleme seçeneğini kullanmayı içerir:

  • Bu seçeneği her zaman dağıtım veritabanında ayarlamanızı öneririz.

    Dağıtım veritabanında bu seçeneğin ayarlanması, yayın veritabanının günlüğündeki işlemlerin dağıtım veritabanında yedeklenene kadar kesilmemesini sağlar. Dağıtım veritabanı son yedeklemeye geri yüklenebilir ve eksik işlemler yayın veritabanından dağıtım veritabanına teslim edilir. Çoğaltma etkilenmeden devam eder.

    Dağıtım veritabanında bu seçeneğin ayarlanması çoğaltma gecikme süresini etkilemez. Ancak bu seçenek, dağıtım veritabanındaki ilgili işlemler yedeklenene kadar yayın veritabanındaki günlüğün kesilmesini geciktirecektir. (Bu, yayın veritabanında daha büyük bir işlem günlüğü oluşturabilir.)

  • Uygulamanız ek gecikme süresini tolere edebilirse yayın veritabanında bu seçeneği ayarlamanızı öneririz.

    Yayın veritabanında bu seçeneğin ayarlanması, işlemlerin yayın veritabanında yedeklenene kadar dağıtım veritabanına teslim edilmemesini sağlar. Son yayınlama veritabanı yedeklemesi, dağıtım veritabanının geri yüklenen yayınlama veritabanında bulunmayan işlemlere sahip olma riski olmadan Yayımcı üzerinde geri yüklenebilir.

    İşlemler Yayımcı'da yedeklenmeden dağıtım veritabanına teslim edilemediğinden gecikme süresi ve aktarım hızı etkilenir. Örneğin, işlem günlüğü beş dakikada bir yedekleniyorsa, Publisher'da bir işlemin işlenmesiyle işlemin dağıtım veritabanına teslimi ve ardından Abone arasında beş dakikalık ek gecikme süresi vardır.

    Uyarı

    Yedekleme ile eşitleme seçeneği yayın veritabanı ile dağıtım veritabanı arasında tutarlılık sağlar, ancak bu seçenek veri kaybına karşı garanti vermez. Örneğin, işlem günlüğü kaybolursa, son işlem günlüğü yedekleme işleminden bu yana işlenen işlemler yayın veritabanında veya dağıtım veritabanında kullanılamaz. Bu, çoğaltılmayan bir veritabanıyla aynı davranıştır.

    Yayıncı veritabanı bir kullanılabilirlik grubunun parçası olduğunda, dağıtım veritabanında yedekleme ile eşitleme seçeneğinin ayarlanması uyumlu değildir. Bu, yük devretme sonrasında günlük okuyucu aracısı çalıştırıldığında aşağıdaki hataya neden olabilir.

    İşlem 'machinename\instance' üzerinde 'sp_repldone/sp_replcounters' yürütemedi. (Kaynak: MSSQL_REPL, Hata numarası: MSSQL_REPL20011) Yardım alın: http://help/MSSQL_REPL20011 Dağıtım veritabanında olası tutarsız durum: dist_backup_lsn {nnnnnn:nn:nnnn}, dist_last_lsn {nnn:nn:nnnn}. "sp_repldone NULL, NULL, 0, 0, 1" komutunu yürütür ve sp_replflush yürütür. Yayına yönelik tüm abonelikleri yeniden başlatma. (Kaynak: MSSQLServer, Hata numarası: 18846)

Yedekleme ile eşitleme seçeneğini ayarlama

Replikasyona Dahil Olan Veritabanlarını Geri Yükleme

Son yedeklemeler kullanılabiliyorsa ve uygun adımlar izleniyorsa, çoğaltma topolojisindeki tüm veritabanlarını geri yükleyebilirsiniz. Yayın veritabanının geri yükleme adımları, kullanılan çoğaltma türüne ve seçeneklere bağlıdır; ancak, diğer tüm veritabanları için geri yükleme adımları türünden ve seçeneklerden bağımsızdır.

Çoğaltma, çoğaltılan veritabanlarının yedeklemenin oluşturulduğu sunucuya ve veritabanına geri yüklenmesini destekler. Çoğaltılan veritabanının yedeğini başka bir sunucuya veya veritabanına geri yüklerseniz, çoğaltma ayarları korunamaz. Bu durumda, yedeklemeler geri yüklendikten sonra tüm yayınları ve abonelikleri yeniden oluşturmanız gerekir.

Publisher

Aşağıdaki çoğaltma türleri için geri yükleme adımları sağlanmıştır:

  • Anlık görüntü replikasyonu

  • Salt okunur işlemsel çoğaltma

  • İşlemsel çoğaltma ve güncellenen aboneliklerle

  • Eşdüzey işlem replikasyonu

Bu bölümde de ele alınan msdb ve ana veritabanlarının geri yüklenmesi, dört türün tümü için aynıdır.

Yayın Veritabanı: Anlık Görüntü Çoğaltma

  1. Yayın veritabanının en son yedeğini geri yükleyin. 2. adıma gidin.

  2. Yayın veritabanı yedeklemesi tüm yayınlar ve abonelikler için en son yapılandırmayı içeriyor mu? Evet ise geri yükleme tamamlandı. Hayır ise 3. adıma gidin.

  3. Çoğaltma yapılandırmasını Yayımcı, Dağıtımcı ve Abonelerden kaldırın ve yapılandırmayı yeniden oluşturun. Geri yükleme tamamlandı.

    Çoğaltmayı kaldırma hakkında daha fazla bilgi için bkz. sp_removedbreplication (Transact-SQL).

Yayın Veritabanı: Salt Okunur İşlem Çoğaltması

  1. Yayın veritabanının en son yedeğini geri yükleyin. 2. adıma gidin.

  2. Yedekleme ile eşitleme ayarı, yayın veritabanında hatadan önce etkinleştirildi mi? Evet ise 3. adıma gidin; hayır ise 5. adıma gidin.

    Ayar etkinleştirilirse, sorgu SELECT DATABASEPROPERTYEX('<PublicationDatabaseName>', 'IsSyncWithBackup') '1' döndürür.

  3. Geri yüklenmiş yedekleme tam ve güncel mi? Tüm yayınlar ve abonelikler için en son yapılandırmayı içeriyor mu? Evet ise geri yükleme tamamlandı. Hayır ise 4. adıma gidin.

  4. Geri yüklenen yayın veritabanındaki yapılandırma bilgileri up-to-date değil. Bu nedenle, Abonelerin dağıtım veritabanında bekleyen tüm komutlara sahip olduğundan emin olmanız ve ardından çoğaltma yapılandırmasını bırakmanız ve yeniden oluşturmanız gerekir.

    1. Tüm Aboneler dağıtım veritabanındaki bekleyen komutlarla eşitlenene kadar Dağıtım Aracısı'nı çalıştırın. Çoğaltma İzleyicisi'ndeki Dağıtılmamış Komutlar sekmesini kullanarak veya dağıtım veritabanındaki MSdistribution_status görünümünü sorgulayarak tüm komutların abonelere teslim edildiklerinden emin olun. B adımına gidin.

      Dağıtım Aracısı'nı çalıştırma hakkında daha fazla bilgi için bkz . Çoğaltma Aracısı Başlatma ve Durdurma (SQL Server Management Studio) ve Çoğaltma Aracısı Yürütülebilir Dosyaları Kavramları.

      Komutları doğrulama hakkında daha fazla bilgi için bkz . Dağıtım Veritabanında Çoğaltılmış Komutları ve Diğer Bilgileri Görüntüleme (Çoğaltma Transact-SQL Programlama) ve Çoğaltma İzleyicisi'ni kullanarak bilgileri görüntüleme ve görevleri gerçekleştirme.

    2. Çoğaltma yapılandırmasını Yayımcı, Dağıtımcı ve Abonelerden kaldırın ve yapılandırmayı yeniden oluşturun. Abonelikleri yeniden oluştururken, abonelik sahibinin verilere zaten sahip olduğunu belirtin. Geri yükleme işlemi tamamlandı.

      Çoğaltmayı kaldırma hakkında daha fazla bilgi için bkz. sp_removedbreplication (Transact-SQL).

      Abonenin zaten veriye sahip olduğunu belirtme hakkında daha fazla bilgi için bkz. Aboneliği El ile Başlatma.

  5. Yedekleme ile eşitleme seçeneği yayın veritabanında ayarlanmadı. Bu nedenle, geri yüklenen yedeklemeye dahil olmayan işlemler Dağıtımcıya ve Abonelere teslim edilmiş olabilir. Şimdi Abonelerin dağıtım veritabanında bekleyen tüm komutlara sahip olduğundan emin olmanız ve ardından geri yüklenen yedeklemeye dahil olmayan tüm işlemleri yayın veritabanına el ile uygulamanız gerekir.

    Önemli

    Bu işlemin gerçekleştirilmesi, yayımlanan tabloların yedeklemeden geri yüklenen diğer yayımlanmamış tabloların zaman noktasından daha yeni bir noktaya geri yüklenmesine neden olabilir.

    1. Abonelerin tamamı, dağıtım veritabanındaki bekleyen komutlarla eşitlenene kadar Dağıtım Aracısı’nı çalıştırmaya devam edin. Çoğaltma İzleyicisi'ndeki Dağıtılmamış Komutlar sekmesini kullanarak veya dağıtım veritabanındaki MSdistribution_status görünümünü sorgulayarak tüm komutların abonelere teslim edildiklerinden emin olun. B adımına gidin.

      Dağıtım Aracısı'nı çalıştırma hakkında daha fazla bilgi için bkz . Çoğaltma Aracısı Başlatma ve Durdurma (SQL Server Management Studio) ve Çoğaltma Aracısı Yürütülebilir Dosyaları Kavramları.

      Komutları doğrulama hakkında daha fazla bilgi için bkz . Dağıtım Veritabanında Çoğaltılmış Komutları ve Diğer Bilgileri Görüntüleme (Çoğaltma Transact-SQL Programlama) ve Çoğaltma İzleyicisi'ni kullanarak bilgileri görüntüleme ve görevleri gerçekleştirme.

    2. Publisher'ı Abone ile el ile eşitlemek için tablediff yardımcı programını veya başka bir aracı kullanın. Bu, abonelik veritabanından yayın veritabanı yedeklemesinde bulunmayan verileri kurtarmanıza olanak tanır. C adımına gidin.

      tablediff yardımcı programı hakkında daha fazla bilgi için bkz. Çoğaltılan Tabloları Farklılıklar için Karşılaştırma (Çoğaltma Programlama).

    3. Geri yüklenen yedekleme tamamlandı mı ve güncel mi? Tüm yayınlar ve abonelikler için en son yapılandırmayı içeriyor mu? Evet ise, Publisher meta verilerini Dağıtımcı meta verileriyle yeniden eşitlemek için sp_replrestart saklı yordamı yürütür. Geri yükleme tamamlandı. Hayır ise d adımına gidin.

    4. Çoğaltma yapılandırmasını Yayımcı, Dağıtımcı ve Abonelerden kaldırın ve yapılandırmayı yeniden oluşturun. Abonelikleri yeniden oluştururken, abonenin verileri zaten elinde bulundurduğunu belirtin. Geri yükleme tamamlandı.

      Çoğaltmayı kaldırma hakkında daha fazla bilgi için bkz. sp_removedbreplication (Transact-SQL).

      Abonenin zaten veriye sahip olduğunu belirtme hakkında daha fazla bilgi için bkz. Aboneliği El ile Başlatma.

Yayın Veritabanı: Güncellenebilir Aboneliklerle Transakiyonel Çoğaltma

  1. Yayın veritabanının en son yedeğini geri yükleyin. 2. adıma gidin.

  2. Tüm Aboneler dağıtım veritabanındaki bekleyen komutlarla eşitlenene kadar Dağıtım Ajanı'nı çalıştırın. Çoğaltma İzleyicisi'ndeki Dağıtılmamış Komutlar sekmesini kullanarak veya dağıtım veritabanındaki MSdistribution_status görünümünü sorgulayarak tüm komutların Abonelere teslim edildiklerinden emin olun. 3. adıma gidin.

    Dağıtım Aracısı'nı çalıştırma hakkında daha fazla bilgi için bkz . Çoğaltma Aracısı Başlatma ve Durdurma (SQL Server Management Studio) ve Çoğaltma Aracısı Yürütülebilir Dosyaları Kavramları.

    Komutları doğrulama hakkında daha fazla bilgi için bkz . Dağıtım Veritabanında Çoğaltılmış Komutları ve Diğer Bilgileri Görüntüleme (Çoğaltma Transact-SQL Programlama) ve Çoğaltma İzleyicisi'ni kullanarak bilgileri görüntüleme ve görevleri gerçekleştirme.

  3. Kuyruğa alınmış güncelleştirme abonelikleri kullanıyorsanız her aboneye bağlanın ve abonelik veritabanındaki MSreplication_queue (Transact-SQL) tablosundaki tüm satırları silin. 4. adıma gidin.

    Uyarı

    Kuyruğa alınmış güncelleştirme abonelikleri kullanıyorsanız ve herhangi bir tablo kimlik sütunları içeriyorsa, geri yükleme işleminden sonra doğru kimlik aralıklarının atandığından emin olmanız gerekir. Daha fazla bilgi için bkz . Kimlik Sütunlarını Çoğaltma.

  4. Şimdi Abonelerin dağıtım veritabanında bekleyen tüm komutlara sahip olduğundan emin olmanız ve ardından geri yüklenen yedeklemeye dahil olmayan tüm işlemleri yayın veritabanına el ile uygulamanız gerekir.

    Önemli

    Bu işlemin gerçekleştirilmesi, yayımlanan tabloların yedeklemeden geri yüklenen diğer yayımlanmamış tabloların zaman noktasından daha yeni bir noktaya geri yüklenmesine neden olabilir.

    1. Tüm Aboneler dağıtım veritabanındaki bekleyen komutlarla eşitlenene kadar Dağıtım Aracısı'nı çalıştırın. Çoğaltma İzleyicisi'ni kullanarak veya dağıtım veritabanındaki MSdistribution_status görünümünü sorgulayarak tüm komutların Abonelere teslim edildiklerinden emin olun. B adımına gidin.

    2. Publisher'ı Abone ile el ile eşitlemek için tablediff Yardımcı Programı'nı veya başka bir aracı kullanın. Bu, abonelik veritabanından yayın veritabanı yedeklemesinde bulunmayan verileri kurtarmanıza olanak tanır. C adımına gidin.

      tablediff yardımcı programı hakkında daha fazla bilgi için bkz. Çoğaltılan Tabloları Farklılıklar için Karşılaştırma (Çoğaltma Programlama).

    3. Geri yüklenen yedekleme tamamlandı mı ve güncel mi? Tüm yayınlar ve abonelikler için en son yapılandırmayı içeriyor mu? Evet ise, Publisher meta verilerini Dağıtımcı meta verileriyle yeniden eşitlemek için sp_replrestart saklı yordamı yürütür. Geri yükleme tamamlandı. Hayır ise d adımına gidin.

    4. Çoğaltma yapılandırmasını Yayımcı, Dağıtımcı ve Abonelerden kaldırın ve yapılandırmayı yeniden oluşturun. Abonelikleri yeniden oluştururken, abonenin verilerin zaten mevcut olduğunu belirtin. Geri yükleme tamamlandı.

      Çoğaltmayı kaldırma hakkında daha fazla bilgi için sp_removedbreplication (Transact-SQL)'e bakın.

      Abonenin zaten veriye sahip olduğunu belirtme hakkında daha fazla bilgi için bkz. Aboneliği El ile Başlatma.

Yayın Veritabanı: Eşler Arası İşlem Replikasyonu

Aşağıdaki adımlarda , A, B ve C yayın veritabanları eşler arası işlem çoğaltma topolojisinde yer alır. A ve C veritabanları çevrimiçidir ve düzgün çalışır; veritabanı B, geri yüklenecek veritabanıdır. Burada, özellikle 7, 10 ve 11. adımlarda açıklanan işlem, eşler arası topolojiye düğüm eklemek için gereken işleme çok benzer. Bu adımları gerçekleştirmenin en basit yolu, Eşler Arası Topoloji Yapılandırma Sihirbazı'nı kullanmaktır, ancak saklı yordamları da kullanabilirsiniz.

  1. A ve C veritabanlarındaki abonelikleri eşitlemek için Dağıtım Aracıları'nı çalıştırın. 2. adıma gidin.

    Dağıtım Aracısı'nı çalıştırma hakkında daha fazla bilgi için bkz . Çoğaltma Aracısı Başlatma ve Durdurma (SQL Server Management Studio) ve Çoğaltma Aracısı Yürütülebilir Dosyaları Kavramları.

  2. B'nin kullandığı dağıtım veritabanı hala kullanılabilir durumdaysa, B ve A veritabanları ile B ve C veritabanları arasındaki abonelikleri eşitlemek için Dağıtım Aracıları'nı çalıştırın. 3. adıma gidin.

  3. B için dağıtım veritabanında sp_removedistpublisherdbreplication yürüterek B'nin kullandığı dağıtım veritabanından meta verileri kaldırın. 4. adıma gidin.

  4. A ve C veritabanlarında abonelikleri B veritabanında yayına bırakın. 5. adıma gidin.

    Abonelikleri bırakma hakkında daha fazla bilgi için bkz. Yayınlara Abone Olma.

  5. A veritabanının günlük yedeğini veya tam yedeklemesini gerçekleştirin. 6. adıma gidin.

  6. B veritabanında A veritabanının yedeğini geri yükleyin. B veritabanı artık A veritabanındaki verilere sahip ancak çoğaltma yapılandırmasına sahip değil. Bir yedeklemeyi başka bir sunucuya geri yüklerseniz çoğaltma kaldırılır; bu nedenle, çoğaltma B veritabanından kaldırılmıştır. 7. adıma gidin.

  7. B veritabanında yayını yeniden oluşturun ve ardından A ve B veritabanları arasında abonelikleri yeniden oluşturun. (C veritabanını içeren abonelikler daha sonraki bir aşamada işlenir.)

    1. B veritabanında yayını yeniden oluşturun. B adımına gidin.

    2. Aboneliğin bir yedeklemeyle başlatılması gerektiğini belirterek (sp_addsubscription parametresi için yedekleme ile başlatmadeğeri) B veritabanındaki aboneliği @sync_type veritabanındaki yayına yeniden oluşturun. C adımına gidin.

    3. Abonenin zaten veriye sahip olduğunu belirterek A veritabanındaki aboneliği B veritabanındaki yayına yeniden oluşturun (yalnızca sp_addsubscription parametresi için @sync_typeçoğaltma desteği değeri). 8. adıma gidin.

  8. A ve B veritabanlarındaki abonelikleri eşitlemek için Dağıtım Aracıları'nı çalıştırın. Yayımlanan tablolarda kimlik sütunları varsa 9. adıma gidin. Aksi takdirde 10. adıma gidin.

  9. Geri yükleme işleminden sonra, A veritabanındaki her tablo için atadığınız kimlik aralığı B veritabanında da kullanılır. Geri yüklenen B veritabanının, başarısız olan B veritabanından A ve C veritabanına yayılan tüm değişiklikleri aldığından emin olun; ve ardından her tablo için kimlik aralığını yeniden görüntüledi.

    1. B veritabanında sp_requestpeerresponse yürütür ve çıkış parametresini @request_idalır. B adımına gidin.

    2. Dağıtım Aracısı varsayılan olarak sürekli çalışacak şekilde ayarlanır; bu nedenle belirteçler tüm düğümlere otomatik olarak gönderilmelidir. Dağıtım Aracısı sürekli modda çalışmıyorsa aracıyı çalıştırın. Daha fazla bilgi için Çoğaltma Aracısı Yürütülebilir Dosyaları Kavramları veya Çoğaltma Aracısı Başlatma ve Durdurma (SQL Server Management Studio) bölümüne bakın. C adımına gidin.

    3. sp_helppeerresponses'i, @request_id b adımında alınan değeri sağlayarak yürütün. Tüm düğümler eş isteği aldıklarını belirtene kadar bekleyin. D adımına gidin.

    4. Uygun bir aralığın kullanıldığından emin olmak için B veritabanındaki her tabloyu yeniden görüntülemek için DBCC CHECKIDENT kullanın. 10. adıma gidin.

    Kimlik aralıklarını yönetme hakkında daha fazla bilgi için "El ile kimlik aralığı yönetimi aralıklarının atanması" bölümüne bakın Kimlik Sütunlarını Çoğaltma.

  10. Bu noktada , B veritabanı ve C veritabanı doğrudan bağlı değildir, ancak A veritabanı aracılığıyla değişiklikler alır. TopolojiDE SQL Server 2005 (9.x) çalıştıran düğümler varsa 11. adıma gidin; aksi takdirde 12. adıma gidin.

  11. Sistemi sessize alıp B ve C veritabanları arasında aboneliği yeniden oluşturun. Bir sistemin sessize alınması, yayımlanan tablolardaki etkinliğin tüm düğümlerde durdurulmasını ve her düğümün diğer tüm düğümlerden tüm değişiklikleri aldığından emin olunmasını içerir.

    1. Eşler arası topolojide yayımlanan tablolardaki tüm etkinlikleri durdurun. B adımına gidin.

    2. B veritabanında sp_requestpeerresponse yürütür ve çıkış parametresini @request_idalır. C adımına gidin.

    3. Dağıtım Aracısı varsayılan olarak sürekli çalışacak şekilde ayarlanır; bu nedenle belirteçler tüm düğümlere otomatik olarak gönderilmelidir. Dağıtım Aracısı sürekli modda çalışmıyorsa aracıyı çalıştırın. D adımına gidin.

    4. b adımında @request_id alınan değeri sağlayarak sp_helppeerresponses yürütür. Tüm düğümler eş isteği aldıklarını belirtene kadar bekleyin. E adımına gidin.

    5. Abonenin zaten veriye sahip olduğunu belirterek B veritabanındaki aboneliği C veritabanındaki yayına yeniden oluşturun. B adımına gidin.

    6. Zaten veriye sahip olduğunu belirterek C veritabanındaki aboneliği, B veritabanındaki yayına yeniden oluşturun. 13. adıma gidin.

  12. B ve C veritabanları arasında aboneliği yeniden oluşturun:

    1. B veritabanında,B veritabanının C veritabanından aldığı en son işlemin günlük sırası numarasını (LSN) almak için MSpeer_lsns tablosunu sorgular.

    2. B veritabanındaki aboneliği, sp_addsubscription parametresi olarak lsn'den başlatma değeri verilerek, LSN'ye göre başlatılacak şekilde @sync_type veritabanındaki yayına yeniden oluşturun. B adımına gidin.

    3. C veritabanındaki aboneliği, B veritabanındaki yayına abonenin zaten verilere sahip olduğunu belirterek yeniden oluşturun. 13. adıma gidin.

  13. B ve C veritabanlarındaki abonelikleri eşitlemek için Dağıtım Aracıları'nı çalıştırın. Geri yükleme tamamlandı.

msdb Veritabanı (Publisher)

  1. msdb veritabanının en son yedeklemesini geri yükleyin.

  2. Geri yüklenen yedekleme tamamlandı mı ve güncel mi? Tüm yayınlar ve abonelikler için en son yapılandırmayı içeriyor mu? Evet ise kurtarma tamamlanır. Hayır ise 3. adıma gidin.

  3. Replikasyon betiklerinden abonelik temizleme görevini yeniden oluşturun. Kurtarma tamamlandı.

ana Veritabanı (Publisher)

  1. Ana veritabanının en son yedeklemesini geri yükleyin.

  2. Çoğaltma yapılandırması ve ayarlarıyla ilgili olarak veritabanının yayın veritabanıyla tutarlı olduğundan emin olun.

Dağıtımcıdaki Veritabanları

Dağıtım Veritabanı

  1. Dağıtım veritabanının en son yedeklemesini geri yükleyin.

  2. Yedekleme ile eşitleme ayarı, hatadan önce dağıtım veritabanında etkinleştirildi mi? Evet ise 3. adıma gidin; hayır ise 4. adıma gidin.

    Ayar etkinleştirilirse, sorgu SELECT DATABASEPROPERTYEX('<DistributionDatabaseName>', 'IsSyncWithBackup') '1' döndürür.

  3. Geri yüklenen yedekleme tamamlandı mı ve güncel mi? Tüm yayınlar ve abonelikler için en son yapılandırmayı içeriyor mu? Evet ise kurtarma tamamlanır. Hayır ise 4. adıma gidin.

  4. Geri yüklenen dağıtım veritabanındaki yapılandırma bilgileri up-to-date değil veya yedeklemeyle eşitleme seçeneği dağıtım veritabanında ayarlanmadı. (Geri yüklemeden sonra, dağıtım veritabanında Yayımcı'da kaydedilmiş ancak abonelere henüz teslim edilmemiş işlemler eksik olabilir.) Çoğaltmayı bırakın ve yeniden oluşturun, ardından doğrulamayı yürütün.

    1. Çoğaltma yapılandırmasını Yayımcı, Dağıtımcı ve Abonelerden kaldırın ve yapılandırmayı yeniden oluşturun. Abonelikleri yeniden oluştururken, abonenin verileri zaten elinde bulundurduğunu belirtin. B adımına gidin.

      Çoğaltmayı kaldırma hakkında daha fazla bilgi için bkz. sp_removedbreplication (Transact-SQL).

      Abonenin zaten veriye sahip olduğunu belirtme hakkında daha fazla bilgi için bkz. Aboneliği El ile Başlatma.

    2. Tüm yayınları doğrulama için işaretleyin. Doğrulama başarısız olan tüm abonelikleri yeniden başlatma. Kurtarma tamamlandı.

      Doğrulama hakkında daha fazla bilgi için bkz. Çoğaltılan Verileri Doğrulama. Yeniden başlatma hakkında daha fazla bilgi için bkz. Abonelikleri Yeniden Başlatma.

msdb Veritabanı (Dağıtımcı)

  1. msdb veritabanının en son yedeklemesini geri yükleyin.

  2. Geri yüklenen yedekleme tamamlandı mı ve güncel mi? Tüm yayınlar ve abonelikler için en son yapılandırmayı içeriyor mu? Evet ise kurtarma tamamlanır. Hayır ise 3. adıma gidin.

  3. Çoğaltma yapılandırmasını Yayımcı, Dağıtımcı ve Abonelerden kaldırın ve yapılandırmayı yeniden oluşturun. Abonelikleri yeniden oluştururken, abonenin verilere zaten sahip olduğunu belirtin. 4. adıma gidin.

    Çoğaltmayı kaldırma hakkında daha fazla bilgi için bkz. sp_removedbreplication (Transact-SQL).

    Abonenin zaten veriye sahip olduğunu belirtme hakkında daha fazla bilgi için bkz. Aboneliği El ile Başlatma.

  4. Tüm yayınları doğrulama için işaretleyin. Doğrulama başarısız olan tüm abonelikleri yeniden başlatma. Kurtarma tamamlandı.

    Doğrulama hakkında daha fazla bilgi için bkz. Çoğaltılan Verileri Doğrulama. Yeniden başlatma hakkında daha fazla bilgi için bkz. Abonelikleri Yeniden Başlatma.

ana Veritabanı (Dağıtımcı)

  1. Ana veritabanının en son yedeklemesini geri yükleyin.

  2. Çoğaltma yapılandırması ve ayarlarıyla ilgili olarak veritabanının yayın veritabanıyla tutarlı olduğundan emin olun.

Abonedeki veritabanları

Abonelik Veritabanı

  1. En son abonelik veritabanı yedeklemesi, dağıtım veritabanındaki en düşük dağıtım saklama ayarından daha yeni mi? (Bu, Abonenin güncel olmasını sağlamak için Dağıtımcının gereken tüm komutlara sahip olup olmadığını belirler.) Evet ise 2. adıma gidin. Hayır ise aboneliği yeniden başlatabilirsiniz. Kurtarma tamamlandı.

    En yüksek dağıtım saklama ayarını belirlemek için sp_helpdistributiondb yürütür ve değeri max_distretention sütunundan alır (bu değer saat cinsindendir).

    Aboneliği yeniden başlatma hakkında daha fazla bilgi için bkz. Aboneliği yeniden başlatma.

  2. En son abonelik veritabanı yedeklemesini geri yükleyin. 3. adıma gidin.

  3. Abonelik veritabanında yalnızca gönderim abonelikleri varsa 4. adıma gidin. Abonelik veritabanında herhangi bir çekme aboneliği varsa şu soruları sorun: Abonelik bilgileri güncel mi? Veritabanı, hata anında ayarlanan tüm tabloları ve seçenekleri içeriyor mu? Evet ise 4. adıma gidin. Hayır ise aboneliği yeniden başlatabilirsiniz. Kurtarma tamamlandı.

  4. Aboneyi eşitlemek için Dağıtım Aracısı'nı çalıştırın. Kurtarma tamamlandı.

    Dağıtım Aracısı'nı çalıştırma hakkında daha fazla bilgi için bkz . Çoğaltma Aracısı Başlatma ve Durdurma (SQL Server Management Studio) ve Çoğaltma Aracısı Yürütülebilir Dosyaları Kavramları.

msdb Veritabanı (Abone)

  1. msdb veritabanının en son yedeklemesini geri yükleyin. Çekme abonelikleri bu Abonede kullanılıyor mu? Hayır ise geri yükleme tamamlanır. Evet ise 2. adıma gidin.

  2. Geri yüklenen yedekleme tamamlandı mı ve güncel mi? Tüm çekme abonelikleri için en son yapılandırmayı içeriyor mu? Evet ise kurtarma tamamlanır. Hayır ise 3. adıma gidin.

  3. Abone kaydını silin ve yeniden oluşturun. Abonelikleri yeniden oluşturduğunuzda, abonenin verilere zaten sahip olduğunu belirtmelisiniz. Geri yükleme tamamlandı.

    Abonelikleri bırakma hakkında daha fazla bilgi için bkz. Yayınlara Abone Olma.

    Abonenin zaten veriye sahip olduğunu belirtme hakkında daha fazla bilgi için bkz. Aboneliği El ile Başlatma.

ana Veritabanı (Abone)

  1. Ana veritabanının en son yedeklemesini geri yükleyin.

  2. Çoğaltma yapılandırması ve ayarlarıyla ilgili olarak veritabanının yayın veritabanıyla tutarlı olduğundan emin olun.