ALTER SERVICE (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Managed Instance
Mengubah layanan yang ada.
Sintaks
ALTER SERVICE service_name
[ ON QUEUE [ schema_name . ]queue_name ]
[ ( < opt_arg > [ , ...n ] ) ]
[ ; ]
<opt_arg> ::=
ADD CONTRACT contract_name | DROP CONTRACT contract_name
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