Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server Azure SQL Yönetilen Örneği
Yeni bir hizmet oluşturuyor. Hizmet Brokerı hizmeti, belirli bir görev veya görev seti için kullanılan bir addır. Service Broker, mesajları yönlendirmek, mesajları veritabanındaki doğru kuyruğa iletmek ve bir konuşma için sözleşmeyi uygulamak için hizmetin adını kullanır.
Transact-SQL söz dizimi kuralları
Syntax
CREATE SERVICE service_name
[ AUTHORIZATION owner_name ]
ON QUEUE [ schema_name. ]queue_name
[ ( contract_name | [DEFAULT][ ,...n ] ) ]
[ ; ]
Arguments
service_name
Oluşturulacak hizmetin adı. Mevcut veritabanında yeni bir hizmet oluşturulur ve maddede belirtilen AUTHORIZATION müdüre ait olur. Sunucu, veritabanı ve şema adları belirtilemez.
service_name geçerli bir sistem adı olmalı.
Note
service_name için ANY anahtar kelimesini kullanan bir hizmet oluşturma.
ANY Bir hizmet adı için belirttiğinizdeCREATE BROKER PRIORITY, öncelik tüm hizmetler için dikkate alınır. Sadece ANY olan bir hizmetle sınırlı değildir.
AUTHORIZATION
owner_name
Hizmetin sahibini belirtilen veritabanı kullanıcısı veya rolü olarak ayarlar. Mevcut kullanıcı dbo veya saise, owner_name herhangi bir geçerli kullanıcının veya rolün adı olabilir. Aksi takdirde, owner_name mevcut kullanıcının adı, mevcut kullanıcının IMPERSONATE iznine sahip olduğu kullanıcı adı veya mevcut kullanıcının ait olduğu bir rolün adı olmalıdır.
ON QUEUE [ schema_name.] queue_name
Hizmet için mesajları alan kuyruğu belirler. Kuyruğun hizmetle aynı veritabanında bulunması gerekir. Eğer schema_name sağlanmıyorsa, şema ifadeyi çalıştıran kullanıcı için varsayılan şema olur.
contract_name
Bu hizmetin hedef olabileceği bir sözleşmeyi belirtir. Hizmet programları, belirtilen sözleşmeler kullanarak bu hizmetle görüşmeleri başlatır. Herhangi bir sözleşme belirtilmediyse, hizmet yalnızca görüşmeleri başlatabilir.
[DEFAULT]
Hizmetin sözleşmeyi DEFAULT takip eden konuşmalar için hedef olabileceğini belirtir. Bu madde bağlamında, DEFAULT anahtar kelime değildir ve tanımlayıcı olarak sınırlandırılmalıdır. Sözleşme, DEFAULT konuşmanın her iki tarafına da mesaj türünde DEFAULTmesaj göndermesine izin verir. Mesaj tipi DEFAULT doğrulama VERİLİR kullanır.
Remarks
Bir hizmet, ilişkilendirildiği sözleşmelerin sağladığı işlevselliği açığa çıkarır, böylece diğer hizmetler tarafından kullanılabilir. Açıklama, CREATE SERVICE bu hizmetin hedef olduğu sözleşmeleri belirtir. Bir hizmet, yalnızca hizmet tarafından belirlenen sözleşmeleri kullanan konuşmalar için hedef olabilir. Sözleşme belirtmeyen bir hizmet, diğer hizmetlere hiçbir işlevsellik göstermez.
Bu hizmetten başlatılan konuşmalar herhangi bir sözleşmeyi kullanabilir. Hizmet sadece konuşmaları başlattığında sözleşmeleri belirtmeden hizmet oluşturuyorsunuz.
Service Broker uzak bir hizmetten yeni bir konuşma kabul ettiğinde, hedef hizmetin adı, aracı kurumun mesajları konuşmaya koyduğu kuyruğu belirler.
Permissions
Bir hizmet oluşturma izni, varsayılan olarak sabit db_ddladmin veritabanı rollerinin db_owner üyeleri veya sysadmin sabit sunucu rolü olarak belirlenir. Bildirimi CREATE SERVICE çalıştıran kullanıcının kuyruk ve tüm sözleşmeler üzerinde iznine sahip REFERENCES olması gerekir.
REFERENCESBir hizmetin izni, varsayılan olarak servisin sahibine, veya db_owner sabit db_ddladmin veritabanı rollerinin üyelerine veya sabit sysadmin sunucu rolünün üyelerine verilir.
SEND Bir servis için varsayılan izinler, hizmet sahibine, sabit db_owner veritabanı rolünün üyelerine veya sabit sysadmin sunucu rolünün üyelerine aittir.
Bir hizmet geçici bir nesne olmayabilir. Hizmet isimleri ile # başlayan isimlere izin verilir, ancak kalıcı nesnelerdir.
Examples
A. Tek sözleşmeyle hizmet oluşturmak
Aşağıdaki örnek, şemadaki kuyruk ExpenseQueuedbo üzerindeki hizmeti //Adventure-Works.com/Expenses oluşturur. Bu hizmeti hedefleyen diyaloglar sözleşmeye //Adventure-Works.com/Expenses/ExpenseSubmissionuygun olmalıdır.
CREATE SERVICE [//Adventure-Works.com/Expenses]
ON QUEUE [dbo].[ExpenseQueue]
([//Adventure-Works.com/Expenses/ExpenseSubmission]) ;
B. Birden fazla sözleşmeyle hizmet oluşturmak
Aşağıdaki örnek, kuyruk üzerindeki hizmeti //Adventure-Works.com/ExpensesExpenseQueue oluşturur. Bu hizmeti hedefleyen diyaloglar ya sözleşmeye //Adventure-Works.com/Expenses/ExpenseSubmission ya da sözleşmeye //Adventure-Works.com/Expenses/ExpenseProcessinguymalıdır.
CREATE SERVICE [//Adventure-Works.com/Expenses] ON QUEUE ExpenseQueue
([//Adventure-Works.com/Expenses/ExpenseSubmission],
[//Adventure-Works.com/Expenses/ExpenseProcessing]) ;
C. Sözleşmesiz bir hizmet oluşturmak
Aşağıdaki örnek servis //Adventure-Works.com/Expenses on the ExpenseQueue kuyruğunu oluşturur. Bu hizmetin sözleşme bilgisi yoktur. Bu nedenle, hizmet yalnızca bir diyalogun başlatıcısı olabilir.
CREATE SERVICE [//Adventure-Works.com/Expenses] ON QUEUE ExpenseQueue ;
Ayrıca Bkz.
ALTER SERVICE (Transact-SQL)
DROP SERVICE (Transact-SQL)
OLAY VERILERI (Transact-SQL)