Hizmet Aracısı kimlikleri yönetme
Her veritabanı yönlendirmek için kullanılan benzersiz bir tanımlayıcı içeren Service Broker iletileri için bu veritabanı.Bu konuda açıklar Service Broker tanımlayıcıları, nasıl Service Broker ileti yasadışı ve yönetmek kullanılabilir olan seçenekler karşı koruyan Service Broker tanımlayıcıları.
Hizmet Aracısı tanımlayıcıları
Her veritabanı içeren bir Service Broker ağ. diğer veritabanları ondan ayıran tanımlayıcıThe service_broker_guid column of the sys.databases catalog view shows the Service Broker identifier for each database in the instance.Service Broker systems can be designed to run multiple copies of a service.Hizmet her kopyasını ayrı bir veritabanında çalışır.Bir hizmeti birden çok kopyası olan bir sistemde, create rota BROKER_INSTANCE yan tümce tümce tümce kullanın deyim hizmet belirli bir kopyası için bir yol oluşturmak için.
Service BrokerYönlendirme kullanır Service Broker tanımlayıcısı için sağlamak, görüşme için tüm iletileri teslim edildiği aynı veritabanı.BAŞLAMAK iletişim konuşma deyim hedef hizmet ile bir görüşme açılır.If a conversation is successfully opened, the acknowledgement message from the destination service contains the Service Broker identifier for the destination database.Service Broker then routes all messages for the conversation to the specified database.
Service Broker tanımlayıcılar gerçekleştirilecek yönlendirme türü denetlemek için iletişim konuşma başlamak deyim hizmetini yan tümce tümce tümcesinde belirtilebilir:
Belirli bir kopyasına yol görüşmeleri için bir hizmet, belirttiğiniz bir hizmet_broker_guid.Örneğin, ağ üzerinde üç veritabanlarında hizmet üç kopyasını içerebilir: geliştirme veritabanından, sınama veritabanından ve üretim veritabanı.Her sistem başlamak iletişim konuşma deyimlerinde belirtmeniz gerekir service_broker_guid tüm iletileri doğru veritabanına gitmek emin olmak için.
To let Service Broker balance conversation loads across multiple copies of a service, do not specify service_broker_guid.Service Broker will alternatively pick among the routes with the same service name as is specified in the TO SERVICE clause of BEGIN DIALOG CONVERSATION.
Varsayılan olarak, yalnızca bir kopyası ise bir hizmet bir ağda, Service Broker doğru yönlendiren görüşmeleri.Belirtmek zorunda Service Broker tanımlayıcısı oluşturma yolu veya iletişim konuşma başlamak deyimleri.
Hakkında daha fazla bilgi için Service Broker yol eşleşen, bkz: Yönlendirme Hizmet Aracısı.
İleti teslimi doğru desteklemek için her Service Broker tanımlayıcı olması gereken benzersiz'ın tüm örneklerini Veritabanı Altyapısı aynı ağ.Aksi halde, ileti yanlış yönlendirilmiş. Yeni bir veritabanı oluşturduğunuzda, yeni bir atanmış olduğu Service Broker tanımlayıcısı, olması gereken benzersiz ağ.Veritabanını da geri bağlı veya tanımlayıcı geri yüklenir.geri yükleme ve veritabanları ekleme yaparken dikkatli olun.Etkin olarak gerçekleştiren birden çok veritabanı sahip olmaması gereken Service Broker işlemleri ve kullanarak aynı tanımlayıcılar.
Hizmet Aracısı ileti teslimi
SQL Serverdevre dışı bırakılması için bir mekanizma sağlar Service Broker , aynı sahip veritabanındaki ileti teslimi Service Broker tanımlayıcı olarak başka bir veritabanında aynı ağ.İleti teslimi bir veritabanında devre dışı bırakıldığında, bu veritabanından gönderilen tüm iletileri iletim sıra veritabanı için kalır.Daha fazla, Service Broker Hizmetleri bu veritabanında kullanılabilir yapmak için düşününileti alıcı. Bu hizmetolarak s değil kabul edilir ne zaman Service Broker bulur bir hedefe yönlendirme hizmet örnek.
Etkinliğini durdurma Service Broker ileti teslim, güvenle iliştirmenize olanak sağlar bir yedek sorun giderme veya veri kurtarma amacıyla kilitleyerek yanlış yönlendirilen iletilerin. riski olmadan veritabanıThe is_broker_enabled column of sys.databases shows the current state of Service Broker message delivery for each database.
Eklemek veya kullanım özen o yalnızca bir veritabanına emin olmak için veritabanı geri yükleme bir verilen Service Broker tanımlayıcısı vardır ileti teslimat etkin.Aksi halde, ileti yanlış yönlendirilmiş ve yanlış veritabanı kopyası işlenmek üzere bir görüşme ortaya çıkabilir.
Tanımlayıcıları ve ileti teslimi yönetme
create database, alter database komutunu ve veritabanını geri yükle komutunu etkinleştirmek için seçenekleri içeren Service Broker ileti teslimi.Değiştirmek için seçenekler de içerdikleri Service Broker tanımlayıcısı için bir veritabanı.
Eklemek veya bir veritabanı geri yükleme varsayılan olarak, Service Broker tanımlayıcısı ve ileti teslim durumu değişmez.Tipik olarak, değişmez Service Broker tanımlayıcısı aşağıdaki durumlarda:
Ne zaman geri yükleme yedek kurtarma amacıyla.
Ne zaman bir yansıtılmış çifti yapılandırın.
günlük aktarma için ayarlarken bir hazır bekleyen sunucu.Veritabanının bir kopyasını yaparken örnek tanımlayıcısını değiştirin.
Tanımlayıcılar ve ileti teslimi yönetmek için dört seçenek vardır:
ENABLE_BROKER.Bu seçeneği etkinleştirir Service Broker ileti teslimi, var olan koruma Service Broker tanımlayıcısı için veritabanı.
Not
Enabling SQL Server Service Broker in any database require a database lock.Etkinleştirmek için Service Broker , msdb veritabanı, önce Dur SQL Server Aracısı.Daha sonra Service Broker alabileceği gerekli bir kilit.
DISABLE_BROKER.Bu seçenek devre dışı bırakır Service Broker ileti teslimi, var olan koruma Service Broker tanımlayıcısı için veritabanı.
NEW_BROKER.Bu seçeneği etkinleştirir Service Broker ileti teslim ve oluşturur Yeni bir Service Broker tanımlayıcısı için veritabanı.Bu seçenek veritabanında varolan tüm görüşmeler sona erer ve her görüşme için bir hata döndürür.Bunun nedeni bu konuşmalar yeni tanımlayıcısını kullanın.Tüm yol , eski başvuran Service Broker tanımlayıcısı silinmeli, yeni bir tanımlayıcı.
ERROR_BROKER_CONVERSATIONS.This option activates Service Broker message delivery, preserving the existing Service Broker identifier for the database.Service Broker ends all conversations in the database, and returns an error for each conversation.Bu seçenek bir veritabanını farklı bir noktaya saat diğer veritabanları ile açık konuşmalar vardır'den geri yükleme gerekir, genellikle kullanılır.Şimdi diğer veritabanları ile eşit olduklarından geri yüklenen veritabanı içindeki tüm görüşmeler bir hata ile sona erdi gerekir.The Service Broker identifier is retained so that all routes that reference the identifier are still valid.
Belirtilen seçenek ne olursa olsun SQL Server izin vermez aynı olan iki veritabanları için Service Broker hem tanıtıcıya sahip ileti teslimi için de aynı etkin örnek , SQL Server.Aynı olan bir veritabanını iliştirmek, Service Broker tanımlayıcı olarak varolan bir veritabanını SQL Server devreden çıkarır Service Broker bağlı olduğu veritabanında teslim iletisi.
Veritabanları ekleme seçenekleri hakkında daha fazla bilgi için bkz: Veritabanı (Transact-SQL) oluştur ve ALTER DATABASE (Transact-SQL).Nasıl etkinleştirileceği hakkında bilgi için Service Broker , ileti teslim veritabanı Bkz: Nasıl yapılır: Hizmet Aracısı ileti teslimi veritabanlarında (Transact-SQL) etkinleştir.