Bagikan melalui


ALTER SERVICE (Transact-SQL)

Berlaku untuk: SQL Server Azure SQL Managed Instance

Mengubah layanan yang ada.

Konvensi sintaks transact-SQL

Sintaksis

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

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

service_name
Adalah nama layanan yang akan diubah. Nama server, database, dan skema tidak dapat ditentukan.

PADA ANTREAN [ schema_name. ] queue_name
Menentukan antrean baru untuk layanan ini. Service Broker memindahkan semua pesan untuk layanan ini dari antrean saat ini ke antrean baru.

TAMBAHKAN contract_name KONTRAK
Menentukan kontrak yang akan ditambahkan ke kumpulan kontrak yang diekspos oleh layanan ini.

CONTRACT_NAME DROP CONTRACT
Menentukan kontrak yang akan dihapus dari kumpulan kontrak yang diekspos oleh layanan ini. Service Broker mengirimkan pesan kesalahan pada percakapan yang ada dengan layanan ini yang menggunakan kontrak ini.

Keterangan

Ketika pernyataan ALTER SERVICE menghapus kontrak dari layanan, layanan tidak dapat lagi menjadi target untuk percakapan yang menggunakan kontrak tersebut. Oleh karena itu, Service Broker tidak mengizinkan percakapan baru ke layanan pada kontrak tersebut. Percakapan yang ada yang menggunakan kontrak tidak terpengaruh.

Untuk mengubah OTORISASI untuk layanan, gunakan pernyataan ALTER AUTHORIZATION.

Izin

Izin untuk mengubah layanan secara default kepada pemilik layanan, anggota peran database tetap db_ddladmin atau db_owner , dan anggota peran server tetap sysadmin .

Contoh

J. Mengubah antrean untuk layanan

Contoh berikut mengubah //Adventure-Works.com/Expenses layanan untuk menggunakan antrean NewQueue.

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

B. Menambahkan kontrak baru ke layanan

Contoh berikut mengubah //Adventure-Works.com/Expenses layanan untuk mengizinkan dialog pada kontrak //Adventure-Works.com/Expenses.

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

C. Menambahkan kontrak baru ke layanan, menghilangkan kontrak yang ada

Contoh berikut mengubah //Adventure-Works.com/Expenses layanan untuk mengizinkan dialog pada kontrak //Adventure-Works.com/Expenses/ExpenseProcessing dan melarang dialog pada kontrak //Adventure-Works.com/Expenses/ExpenseSubmission.

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

D. Mengubah pemilik layanan

Contoh berikut mengubah pemilik pengguna //Adventure-Works.com/Expenses dbo .

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

Lihat juga