ALTER SERVICE (Transact-SQL)

Şunlar için geçerlidir: SQL Server Azure SQL Yönetilen Örneği

Mevcut bir hizmeti değiştirir.

Transact-SQL söz dizimi kuralları

Syntax

ALTER SERVICE service_name   
   [ ON QUEUE [ schema_name . ]queue_name ]   
   [ ( < opt_arg > [ , ...n ] ) ]  
[ ; ]  
  
<opt_arg> ::=  
   ADD CONTRACT contract_name | DROP CONTRACT contract_name  

Arguments

service_name
Hizmetin adı değişmeli mi? Sunucu, veritabanı ve şema adları belirtilemez.

ON QUEUE [ schema_name.] queue_name
Bu hizmet için yeni kuyruğu belirtir. Service Broker, bu hizmetin tüm mesajlarını mevcut kuyruktan yeni kuyruğa taşır.

EKLE CONTRACTcontract_name
Bu hizmetin açığa çıktığı sözleşme setine eklenecek bir sözleşme belirtir.

DROP CONTRACT contract_name
Bu hizmetin açığa çıktığı sözleşme setinden silinmesi gereken bir sözleşmeyi belirtir. Service Broker, bu sözleşmeyi kullanan mevcut tüm konuşmalarda hata mesajı gönderir.

Remarks

Bir ifade, ALTER SERVICE bir hizmetten bir sözleşmeyi sildiğinde, hizmet artık o sözleşmeyi kullanan konuşmaların hedefi olamaz. Bu nedenle, Service Broker o sözleşmedeki hizmete yeni konuşmalara izin vermez. Sözleşmeyi kullanan mevcut konuşmalar etkilenmez.

Bir hizmet için değiştirmek AUTHORIZATION için şu ifadeyi ALTER AUTHORIZATION kullanın.

Permissions

Bir servisin değiştirilmesine izin varsayılan olarak servisin sahibine, db_ddladmin veya db_owner sabit veritabanı rollerinin üyelerine ve sistem yöneticisinin sabit sunucu rolünün üyelerine verilir.

Examples

A. Bir hizmet için kuyruğun değiştirilmesi

Aşağıdaki örnek //Adventure-Works.com/Expenses , servisi kuyruk NewQueuekullanacak şekilde değiştirir.

ALTER SERVICE [//Adventure-Works.com/Expenses]  
    ON QUEUE NewQueue ;  

B. Hizmete yeni bir sözleşme eklenmesi

Aşağıdaki örnek, hizmeti sözleşmede //Adventure-Works.com/Expensesdiyaloglara izin verecek şekilde değiştirir//Adventure-Works.com/Expenses.

ALTER SERVICE [//Adventure-Works.com/Expenses]  
    (ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;  

C. Hizmete yeni bir sözleşme eklemek, mevcut sözleşmenin iptal edilmesi

Aşağıdaki örnek //Adventure-Works.com/Expenses , hizmeti sözleşmede //Adventure-Works.com/Expenses/ExpenseProcessing diyaloglara izin verecek şekilde değiştirir ve sözleşmede //Adventure-Works.com/Expenses/ExpenseSubmissiondiyalogları yasaklayacak şekilde değişir.

ALTER SERVICE [//Adventure-Works.com/Expenses]  
    (ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseProcessing],   
     DROP CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;  

D. Bir hizmetin sahibini değiştirmek

Aşağıdaki örnek, sahibini //Adventure-Works.com/Expensesdbo kullanıcısına çevirir.

ALTER AUTHORIZATION ON SERVICE::[//Adventure-Works.com/Expenses] TO dbo ;
GO

Ayrıca bakınız