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.