Aracılığıyla paylaş


Harmanlama anlama ve Hizmet Aracısı

Hizmet Aracısı Hizmetleri için tasarlanmıştır ve uygulamaları ile farklı harmanlama yapılandırmaları örnekleri kolayca ve etkili şekilde iletişim kurmak.Bir ileti gönderen hizmet barındıran veritabanı aynı kullanmıyor olabilir harmanlama iletiyi alır hizmet barındıran veritabanı olarak.Bu nedenle, hizmet Aracısı olsun, hizmet barındıran veritabanı harmanlamayı adları için tutarlı bir harmanlama kullanır.Harmanlama bilgi iletişimi işleminden kaldırmak için hizmet adları, anlaşma adlarını ve ileti türü adları eşleştirmek için bir bayt düzeyinde karşılaştırma Hizmet Aracısı kullanır.Bayt sırası olarak adlarını eşleştirerek Hizmet Aracısı Hizmetleri harmanlama bilgi değişimi doğru ek yükünü olmadan ileti değişimi için basit kolaylaştırır.

Bayt düzeyinde etkin bir şekilde geçerli harmanlama düşünün bir ikili karşılaştırma olanıdır.Bu nedenle, birçok broker hizmetleri de önerilerini uygun bulmak Hizmet Aracısı nesneleri adlandırma.Bu kuralları uygular ve tüm adları büyük küçük durum duyarlı olarak ele alan bir uygulama gereken işlev hedef hizmet barındıran veritabanı başlatma hizmet barındıran veritabanı arasındaki farklılıkları harmanlama bakılmaksızın doğru.

Sıra harmanlama hakkında önemli noktalar

Varsayılan harmanlama ne olursa olsun tutarlı bir harmanlama sırası kullanmak SQL Server örnek veya varsayılan harmanlama veritabanı barındıran sıra.Bir sıra durumunu korumak için kullanılan bir tablo gibi veritabanında başka bir tabloyla JOIN deyim içeren bir deyim hedef ise harmanlamayı harmanlama için açıkça belirtmek için gerekli.

Örneğin, ileti saklama uygulaması önce bir konuşma için bazı iletileri korumak gerekebilir kullanan bir uygulama, görüşme sona erer.Aşağıdaki Transact-SQL kod örneği olan bir ileti türü adı, belirli bir konuşma için tüm iletileri kaydeder tablo AuditedMessageTypes.

IF @messageTypeName =
  'https://schemas.microsoft.com/SQL/ServiceBroker/EndDialog'
BEGIN
  INSERT INTO dbo.AuditRecord
    SELECT q.message_type_name, q.message_body
      FROM dbo.ApplicationQueue AS q
        JOIN dbo.AuditedMessageTypes AS am ON
             am.message_type_name = q.message_type_name
             COLLATE Latin1_General_BIN
           AND
             q.conversation_handle = @conversationHandle
   END CONVERSATION @conversationHandle
END

deyim, ileti türü adları eşleşen ikili karşılaştırma açıkça belirtir.Bir sıra veritabanının varsayılan harmanlama kullanın, collate yan tümce tümce tümce karşılaştırma için gereklidir çünkü am.message_type_name = q.message_type_name başarılı olmak için.Deyim bir ikili alfabe belirtir Latin1_General_BIN, Hizmet Aracısı hizmet adlarını eşleştirmek için kullandığı iç harmanlama davranışını eşleştirmek için.

Uygulama harmanlama hakkında önemli noktalar

Hizmet Aracısı ileti gövdesi ikili veri olarak iletir ve iletinin içeriğini değiştirmez.Uygulamalar, harmanlama duyarlı verileri değiştirirseniz, uygulama harmanlama farklılık işlemesi gerekir.Metin genellikle exchange uygulamaları türleri Unicode Harmanlama sorunları en aza indirmek için kullanın.