Hizmet (Transact-SQL) oluştur
Yeni bir hizmetoluşturur.A Service Broker hizmet , belirli bir görev veya görevler küme için bir ad değil.Service Brokeradı kullanan hizmet iletileri yol üzere, bir veritabanı içinde doğru sıraya ileti teslim ve görüşme için anlaşma zorlayın.
Sözdizimi
CREATE SERVICE service_name
[ AUTHORIZATION owner_name ]
ON QUEUE [ schema_name. ]queue_name
[ ( contract_name | [DEFAULT][ ,...n ] ) ]
[ ; ]
Bağımsız değişkenler
service_name
hizmet adıdır.Yeni bir hizmet geçerli veritabanında oluşturulmuş ve YETKİLENDİRME yan tümcetümcesinde belirtilen asıl sahibi.Sunucu, veritabanı ve şema adı belirtilemez.service_name Geçerli olmalıdır sysname.Not
Anahtar sözcüğü kullanan bir hizmet için oluşturmayın service_name.broker ÖNCELİK alanında oluşturmak için bir hizmet adı belirttiğinizde, tüm hizmetler için öncelikli olarak kabul edilir.HERHANGİ adı olan bir hizmet için sınırlı değildir.
YETKİLENDİRMEowner_name
Belirtilen veritabanı kullanıcı ya da rol hizmet sahibi ayarlar.Geçerli kullanıcı olduğunda dbo veya sa, owner_name , herhangi bir geçerli kullanıcı veya adı olabilirrolü.Aksi takdirde, owner_name Geçerli kullanıcı adını, özelliklerini Al izni için geçerli kullanıcının kullanıcı adını veya ait olduğu geçerli kullanıcı rolünün adı olmalı.ON QUEUE [ schema_name**.** ] queue_name
' % S'hizmetinin hizmetiletileri alır sırasını belirtir.Sıra, hizmetolarak aynı veritabanında bulunması gerekir.Yok, schema_name şemadır deyimyürütür kullanıcı varsayılan şema sağlandığında.contract_name
Bu hizmet bir hedefolabilir bir anlaşma belirtir.Hizmet programlarını belirtilen sözleşmeler kullanarak bu hizmet görüşmeleri başlatmak.Hiçbir sözleşme belirtilirse, hizmet yalnızca görüşmeleri başlatabilir.DEFAULT
' % S'hizmeti hizmet varsayılan anlaşmaizleyin görüşmeleri için hedef olabilir belirtir.Bu yan tümcebağlamında, varsayılan anahtar sözcük değildir ve tanımlayıcı olarak ayrılmış.Varsayılan anlaşma ileti türü varsayılan ileti göndermek için görüşme iki tarafına verir.İleti türü varsayılan doğrulama none kullanır.
Açıklamalar
hizmet diğer hizmetler tarafından kullanılabilecek şekilde, ilişkili olduğu sözleşmeler tarafından sağlanan işlevselliği sunar.deyim oluşturma hizmeti, bu hizmet için hedef olan sözleşmeler belirtir.hizmet yalnızca ' % s'hizmeti hizmettarafından belirtilen sözleşme kullanmanız görüşmeleri için hedef olabilir.Hiçbir sözleşme belirtir bir hizmet diğer hizmetlere işlevselliği sunar.
Bu ' % s'hizmeti hizmet tarafından başlatılan görüşmeler hiçbir anlaşmakullanabilir.hizmet sözleşmeleri görüşmeleri hizmet yalnızca başlattığında belirtmeden oluşturun.
Zaman Service Broker Yeni bir görüşme kabul eden bir uzak hizmet, hedef hizmet adı burada broker iletileri yerleştirir konuşma. sırasını saptar
İzinler
Üyeleri için varsayılan bir hizmet oluşturmak için izin db_ddladmin veya db_owner veritabanı rolleri sabit ve sysadmin sabit sunucu rolü.Hizmet oluşturma deyim yürütme kullanıcı sıra ve belirtilen tüm sözleşmeleri başvurular izninizin olması gerekir.
BAŞVURULAR izni bir hizmet hizmet, üyelerinin sahibi için varsayılanları db_ddladmin veya db_owner sabit veritabanı rolleri ve üyeleri sysadmin sabit sunucu rolü.Gönderme hizmetüyeleri sahibine hizmet varsayılan izinlerini db_owner veritabanı rolüve üyeleri sabit sysadminsabit sunucu rolü.
Bir hizmet geçici bir nesne olmayabilir.Hizmet adları ile başlayan # izin verilir, ancak kalıcı nesneleridir.
Örnekler
A.Bir anlaşmaile bir hizmet oluşturma
Aşağıdaki örnek hizmetoluşturur//Adventure-Works.com/Expenses üzerinde ExpenseQueue , sıraya dbo şema. hedef iletişim kutularını bu hizmet anlaşmaizlemeniz gereken//Adventure-Works.com/Expenses/ExpenseSubmission.
CREATE SERVICE [//Adventure-Works.com/Expenses]
ON QUEUE [dbo].[ExpenseQueue]
([//Adventure-Works.com/Expenses/ExpenseSubmission]) ;
B.Bir hizmet ile birden çok sözleşme oluşturma
Aşağıdaki örnek hizmetoluşturur//Adventure-Works.com/Expenses , ExpenseQueue sıra. hedef iletişim kutularını bu hizmet anlaşmaya da izlemeniz gereken//Adventure-Works.com/Expenses/ExpenseSubmission veya anlaşma //Adventure-Works.com/Expenses/ExpenseProcessing.
CREATE SERVICE [//Adventure-Works.com/Expenses] ON QUEUE ExpenseQueue
([//Adventure-Works.com/Expenses/ExpenseSubmission],
[//Adventure-Works.com/Expenses/ExpenseProcessing]) ;
C.Bir hizmet olan hiçbir sözleşmeler oluşturma
Aşağıdaki örnek hizmetoluşturur//Adventure-Works.com/Expenses on the ExpenseQueue sıra. Bu hizmet anlaşma bilgi var.Bu nedenle, bir iletişim kutusu Başlatıcı hizmet yalnızca olabilir.
CREATE SERVICE [//Adventure-Works.com/Expenses] ON QUEUE ExpenseQueue ;
Ayrıca bkz.