Aracılığıyla paylaş


sp_mergecleanupmetadata (Transact-SQL)

Should be used only in replication topologies that include servers running versions of Microsoft SQL Server prior to SQL Server 2000 Service Pack 1.sp_mergecleanupmetadata allows administrators to clean up metadata in the MSmerge_genhistory, MSmerge_contents and MSmerge_tombstone system tables.Bu saklı yordam, yayın Veritabanı yayımcısına sırasında yürütülür.

Topic link iconTransact-SQL sözdizimi kuralları

sp_mergecleanupmetadata [ [ @publication = ] 'publication' ]
    [ , [ @reinitialize_subscriber = ] 'reinitialize_subscriber' ]

Bağımsız değişkenler

  • [ @publication = ] 'publication'
    Is the name of the publication.publication is sysname, with a default of %, which cleans up metadata for all publications.yayın açıkça belirtilmiş olması durumunda varolmalıdır.

  • [ @reinitialize_subscriber = ] 'subscriber'
    Specifies whether to reinitialize the Subscriber.subscriber is nvarchar(5), can be TRUE or FALSE, with a default of TRUE.If DOĞRU, abonelikler reinitialization için işaretlenir.If YANLIŞabonelikleri için reinitialization işaretlenmez.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Remarks

sp_mergecleanupmetadata sürümlerini çalıştıran sunucuları içeren yalnızca çoğaltma topolojileri kullanılmalıdır.SQL Server önce SQL Server 2000 hizmet Pack 1. Yalnızca dahil topolojiler SQL Server 2000 hizmet Pack 1 veya sonraki dayalı otomatik saklama meta veriler temizlemesi kullanmanız gerekir. meta veriler temizleme hakkında daha fazla bilgi için bkz: Birleştirme çoğaltması'nasıl çalışır?. Bu çalışan saklı yordamını, günlük dosyasının saklı yordam çalıştığı bilgisayarda gerekli ve potansiyel olarak büyük büyüme haberdar.

Uyarı

Sonra sp_mergecleanupmetadata içinde depolanan meta verilere sahip yayınlar, tüm abonelikler abonelerin sırasında varsayılan olarak çalıştırılırMSmerge_genhistory, MSmerge_contents and MSmerge_tombstone reinitialization için işaretlenmiş abone sırasında bekleyen tüm değişiklikler kaybolur ve geçerli anlık görüntü görüntü eski olarak işaretlenir.

Not

Bir veritabanı birden çok yayın vardır ve bu yayın bir sonsuz yayın bekletme süresi (kullanırsa@ saklama=0), running sp_mergecleanupmetadata , veritabanı için izleme meta veriler temizleme, birleştirme çoğaltma değişmez.Bu nedenle, sonsuz bir yayın saklama dikkatli kullanın.

Bu çalıştırma saklı yordamını, ayarlayarak aboneleri yeniden başlatmak üzere seçebilirsiniz @ reinitialize_subscriber parametresiDOĞRU (varsayılan) veya YANLIŞ.If sp_mergecleanupmetadata ile çalıştırılır**@ reinitialize_subscriber** küme için parametresiDOĞRU, anlık, olmadan (örneğin, anlık görüntü veri ve şema el ile uygulanan veya zaten abone tarafında varolan varsa) anlık görüntüsünü bir başlangıç abonelik tarafından oluşturulmuş olsa bile Abone tarafında yeniden.Parametre ayarı YANLIŞ , yayın yeniden, yayımcı ve abone veri eşitlendiğinden emin olun, çünkü, dikkatli kullanılmalıdır.

Değeri ne olursa olsun @ reinitialize_subscriber, sp_mergecleanupmetadata, değişiklikleri yayımcı veya republishing bir abone saklı yordam çağrıldığı saat yüklemeye çalıştığınız devam eden bir mektup birleştirme işlemi, başarısız olur.

@ Reinitialize_subscriber ile sp_mergecleanupmetadata yürütülüyor = DOğRU:

  1. Bu önerilir, ancak, tüm güncelleştirmeler durdurmanız gerekmez yayın ve Abonelik veritabanlarının.Güncelleştirme devam ederseniz, bir Abone tarafında son birleştirmede bu yana yapılan tüm güncelleştirmeler yayın yeniden, ancak veri yakınsaması korunur kaybolur.

  2. yürütmek Birleştirme Aracısı'nı çalıştırarak bir birleştirme.Kullanacağınız öneririz –Validate Aracısı komut satırı seçeneği Birleştirme Aracısı'nı çalıştırdığınızda, her abone.Sürekli modu birleştirmelerinin çalıştırıyorsanız, bkz: Sürekli modu birleştirmesi için özel konuları bu bölümün sonraki kısımlarında.

  3. Tüm birleştirmelerinin tamamladıktan sonra yürütmek sp_mergecleanupmetadata.

  4. yürütmek sp_reinitmergepullsubscription üzerindeki tüm abonelerin adlandırılmış ya da anonim çekme temelli abonelik veri yakınsaması emin olmak için kullanma.

  5. Sürekli modu birleştirmelerinin çalıştırıyorsanız, bkz: Sürekli modu birleştirmesi için özel konuları bu bölümün sonraki kısımlarında.

  6. Anlık görüntü dosyaları için tüm birleştirme yayımları katılan tüm düzeylerde yeniden.anlık görüntü görüntü görüntüsünü ilk yeniden olmadan birleştirmeyi denerseniz, rapor anlık görüntü görüntü görüntüsünü yeniden isteyen bir ileti alırsınız.

  7. yayın veritabanını yedekleyin.Bunu yapmak için başarısızlık, yayın veritabanı yüklenmesinden sonra bir birleştirme hatası neden olabilir.

@ Reinitialize_subscriber ile sp_mergecleanupmetadata yürütülüyor = YANLıŞ:

  1. Durdur tüm , veritabanları yayımlama ve abonelik için güncelleştirir.

  2. yürütmek Birleştirme Aracısı'nı çalıştırarak bir birleştirme.Kullanacağınız öneririz –Validate Aracısı komut satırı seçeneği Birleştirme Aracısı'nı çalıştırdığınızda, her abone.Sürekli modu birleştirmelerinin çalıştırıyorsanız, bkz: Sürekli modu birleştirmesi için özel konuları bu bölümün sonraki kısımlarında.

  3. Tüm birleştirmelerinin tamamladıktan sonra yürütmek sp_mergecleanupmetadata.

  4. Sürekli modu birleştirmelerinin çalıştırıyorsanız, bkz: Sürekli modu birleştirmesi için özel konuları bu bölümün sonraki kısımlarında.

  5. Anlık görüntü dosyaları için tüm birleştirme yayımları katılan tüm düzeylerde yeniden.anlık görüntü görüntü görüntüsünü ilk yeniden olmadan birleştirmeyi denerseniz, rapor anlık görüntü görüntü görüntüsünü yeniden isteyen bir ileti alırsınız.

  6. yayın veritabanını yedekleyin.Bunu yapmak için başarısızlık, yayın veritabanı yüklenmesinden sonra bir birleştirme hatası neden olabilir.

Special Considerations for Continuous Mode Merges

Sürekli modu birleştirmelerinin çalıştırıyorsanız, aşağıdakilerden birini yapmalısınız:

  • Birleştirme Aracısı durdurun ve sonra da olmadan başka bir birleştirme gerçekleştirmek -Sürekli parametresi belirtildi.

  • Yayını ile devre dışı bırakma sp_changemergepublication herhangi sürekli modu birleştirmelerinin sağlamak için için yayın durumu başarısız yoklama.

    EXEC central..sp_changemergepublication @publication = 'dynpart_pubn', @property = 'status', @value = 'inactive'
    

Tamamladığınızda, adım 3 çalıştırma sp_mergecleanupmetadata, nasıl, bunları durdurulmuş temel alarak Özgeçmiş sürekli modu birleştirmelerinin.Her iki:

  • Ekleme –Continuous parametresi Birleştirme Aracısı için yedekleyin.

  • yayın ile yeniden etkinleştirme sp_changemergepublication.

    EXEC central..sp_changemergepublication @publication = 'dynpart_pubn', @property = 'status', @value = 'active'
    

İzinler

Yalnızca üyeleri sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü için yürütmek sp_mergecleanupmetadata.

Bu saklı yordamı kullanmak için , yayımcı çalıştırıyor olmanız gerekir SQL Server 2000. The Subscribers must be running either SQL Server 2000 or Microsoft SQL Server 7.0, Service Pack 2.