Aracılığıyla paylaş


Bir birleştirme makale çözümleyici belirtmek

Bu konuda bir birleştirme makale çözümleyici belirtmek nasıl açıklar SQL Server 2012kullanarak SQL Server Management Studioya Transact-SQL.

Bu Konuda

  • Başlamadan Önce

    Öneriler

  • Kullanarak bir birleştirme makale çözümleyici belirtmek için:

    SQL Server Management Studio

    Transact-SQL

Başlamadan Önce

Öneriler

  • Birleştirme çoğaltması makale çözümleyiciler aşağıdaki türlerini sağlar:

  • Varsayılan çözümleyici dışındaki bir çözümleyici kullanmak için çözümleyici Birleştirme Aracısı çalıştığı bilgisayara kopyalayın ve kayıt (iş mantığı işleyicisi kullanıyorsanız, bunu da yayımcı kayıtlı olmalıdır). Birleştirme Aracısı çalışır:

    • Itme abonelik dağıtımcı

    • Çekme abonelik abone

    • Microsoftİçin bir çekme abonelik Web eşitleme kullanan Internet Information Services (IIS) sunucusu

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

SQL Server Management Studio Kullanarak

Çözümleyici kaydedildikten sonra bir makale çözümleyici üzerinde kullanacağını belirtmek çözümleyici sekmesini Makalesi özellikleri - <Madde > iletişim kutusunda, Yeni Yayın Sihirbazı'nda bulunan ve Yayını özellikleri - <yayın > iletişim kutusu. Sihirbaz ve iletişim kutusuna erişme hakkında daha fazla bilgi için bkz: Yayın oluşturmave Yayın özelliklerini görüntüleme ve değiştirme.

Bir çözümleyici belirtmek için

  1. Tarih Makaleler sayfa yeni yayın sihirbazını veya Yayını özellikleri - <yayın > iletişim kutusunda, bir tablo seçin.

  2. Tıklayın Makale özelliklerinive'yi Ayarlama özellikleri, vurgulanmış tablo makalesi.

  3. Tarih Makalesi özellikleri - <yazı > sayfa'yı çözümleyici sekmesi.

  4. Seçin **kullanımı özel bir çözümleyici (at dağıtımcı kayıtlı)**ve çözümleyici listesinde tıklatın.

  5. Çözümleyici (bir sütun adı gibi) giriş gerektiriyorsa, onu belirtmek çözümleyici tarafından gerekli bilgilerini girin metin kutusu.

  6. Tamam’ı tıklatın.

  7. Bir çözümleyici gerektiren her yazı için bu işlemi yineleyin.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Transact-SQL'i Kullanma

Özel çakışma çözümleyici kaydetmek için

  1. Kendi özel çakışma çözümleyici kaydetmek planlıyorsanız, aşağıdaki türlerden birini oluşturun:

  2. İstenen çözümleyici zaten kayıtlı olup olmadığını belirlemek için yürütmek sp_enumcustomresolvers (Transact-sql)herhangi bir veritabanı üzerinde yayımcı. Bu dağıtımcı veya bilgi için dağıtımcı kayıtlı her iş mantığı işleyicisi yönetilen derleme kayıtlı her com tabanlı çözümleyici sınıf tanımlayıcısı (CLSID) yanı sıra özel çözümleyici açıklamasını görüntüler.

  3. İstenen özel çözümleyici zaten kayıtlı değil, idam sp_registercustomresolver (Transact-sql)at dağıtımcı. Çözümleyici adını belirtmek @ article_resolver; business logic işleyicisi için derleme kolay adı budur. com tabanlı çözümleyiciler için CLSID değerini dll dosyasını belirtmek @ resolver_clsidve iş mantığı işleyicisi için değeri belirtmeniz trueiçin @ is_dotnet_assembly, için derleme adı @ dotnet_assembly_name, geçersiz kılar sınıf tam nitelikli adını BusinessLogicModuleiçin @ dotnet_class_name.

    [!NOT]

    Iş mantığı işleyici derleme birleştirme Aracısı yürütülebilir dosyası ile aynı dizinde dağıtılan değil, uygulama ile aynı dizinde, zaman uyumlu olarak Birleştirme Aracısı başlar ya da genel derleme önbelleğine (gac) için derleme adı ile tam yolunu belirtmeniz gerekiyor @ dotnet_assembly_name.

  4. Çözümleyici bir com tabanlı çözümleyici ise:

    • Itme abonelikleri dağıtımcı veya çekme abonelikleri için abone özel çözümleyici dll kopyalayın.

      [!NOT]

      Microsoftözel çözümleyiciler bulunabilir C:\Program Files\Microsoft SQL Server\110\com dizin.

    • Regsvr32.exe aracı, işletim sistemiyle özel çözümleyici dll kaydetmek için kullanın. Örneğin, aşağıdaki komut isteminden yürütme kaydeden SQL ServerAdditive çakışma çözümleyici:

      regsvr32 ssradd.dll
      
      regsvr32 ssradd.dll
      
  5. Çözümleyici bir iş mantığı işleyicisi ise, derleme birleştirme Aracısı yürütülebilir (replmerg.exe), aynı klasörde Birleştirme aracı çağıran bir uygulama ile aynı klasörde veya belirtilen klasöre dağıtmak @ dotnet_assembly_name parametresi adım 3.

    [!NOT]

    Birleştirme Aracısı yürütülebilir varsayılan yükleme konumu C:\Program Files\Microsoft SQL Server\110\com

Özel bir çözümleyici birleştirme makale tanımlarken belirtmek için

  1. Özel çakışma çözümleyici kullanmayı planlıyorsanız, oluşturun ve yukarıdaki yordamı kullanarak çözümleyici kaydetmek.

  2. Yayımcı tarafında idam sp_enumcustomresolvers (Transact-sql)ve istenen özel çözümleyici adını not alın değeri sonuç kümesi alan.

  3. Yayını veritabanı üzerinde Yayımcı tarafında idam yürütmesp_addmergearticle (Transact-sql). Adım 2 için çözümleyici adını belirtmek @ article_resolver ve özel çözümleyici kullanılarak giriş gerekli @ resolver_info parametresi. Saklı yordam tabanlı özel çözümleyiciler için @ resolver_info saklı yordam adı. Çözümleyiciler tarafından sağlanan için gerekli giriş hakkında daha fazla bilgi için Microsoftbakın Microsoft com tabanlı çözümleyiciler.

Belirtin veya varolan bir birleştirme makale için özel bir çözümleyici değiştirmek için

  1. Bir makale için özel bir çözümleyici tanımlanan olmadığını belirlemek veya çözümleyici adını almak için idam eşdeğerdirsp_helpmergearticle (Transact-sql). Makale için tanımlanan özel bir çözümleyici ise, onun adı görüntülenir article_resolver alan. Çözümleyici için sağlanan herhangi bir girdi görüntülenir resolver_info sonuç kümesi alan.

  2. Yayımcı tarafında idam sp_enumcustomresolvers (Transact-sql)ve istenen özel çözümleyici adını not alın değeri sonuç kümesi alan.

  3. Yayını veritabanı üzerinde Yayımcı tarafında idam sp_changemergearticle (Transact-sql). Değeri belirtmeniz article_resolver, için iş mantığı işleyicileri için tam yol dahil @ özellik, adım 2'den istenen özel çözümleyici adını @ değeri.

  4. Özel çözümleyici için gerekli herhangi bir girişi değiştirmek için idam sp_changemergearticle (Transact-sql)tekrar. Değeri belirtmeniz resolver_info için @ özellik ve giriş için özel çözümleyici için gerekli @ değeri. Saklı yordam tabanlı özel çözümleyiciler için @ resolver_info saklı yordam adı. Gerekli giriş hakkında daha fazla bilgi için bkz: Microsoft com tabanlı çözümleyiciler.

Özel çakışma çözümleyici kaydını silmek için

  1. Yayımcı tarafında idam sp_enumcustomresolvers (Transact-sql)ve kaldırmak için özel çözümleyici adını not alın değeri sonuç kümesi alan.

  2. İdam sp_unregistercustomresolver (Transact-sql)at dağıtımcı. Özel çözümleyici için adım 1'de belirtilen tam adını belirtmek @ article_resolver.

Örnekler (Transact-SQL)

Bu örnek, yeni bir makale oluşturur ve belirleyen bir SQL Serverortalamasını çakışma çözücü ortalamasını hesaplamak için kullanılan BirimFiyat çakışmaları oluştuğunda sütun.

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = 'AdvWorksSalesOrdersMerge';
SET @article = 'Products';

EXEC sp_addmergearticle 
    @publication = @publication, 
    @article = @article, 
    @source_object = @article, 
    @article_resolver = 'Microsoft SQL Server Averaging Conflict Resolver', 
    @resolver_info = 'UnitPrice';
GO

Bu örnek kullanarak belirtmek üzere bir makaleyi değiştirir SQL ServerAdditive çakışma çözümleyici toplamını hesaplamak için SiparişBirimleri çakışmaları oluştuğunda sütun.

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = 'AdvWorksSalesOrdersMerge';
SET @article = 'Products';

EXEC sp_changemergearticle 
    @publication = @publication, 
    @article = @article, 
    @property='article_resolver', 
    @value='Microsoft SQL Server Additive Conflict Resolver';

EXEC sp_changemergearticle 
    @publication = @publication, 
    @article = @article, 
    @property='resolver_info', 
    @value='UnitsOnOrder';
GO

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Ayrıca bkz.

Kavramlar

Gelişmiş birleştirme çoğaltma çakışma algılaması ve Çözümlemesi

Birleştirme makale Business Logic işleyicisi gerçekleştir