Bagikan melalui


ALTER BROKER PRIORITY (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Mengubah properti prioritas percakapan Service Broker.

Konvensi sintaks transact-SQL

Sintaksis

  
ALTER BROKER PRIORITY ConversationPriorityName  
FOR CONVERSATION  
{ SET ( [ CONTRACT_NAME = {ContractName | ANY } ]  
        [ [ , ] LOCAL_SERVICE_NAME = {LocalServiceName | ANY } ]  
        [ [ , ] REMOTE_SERVICE_NAME = {'RemoteServiceName' | ANY } ]  
        [ [ , ] PRIORITY_LEVEL = { PriorityValue | DEFAULT } ]  
              )  
}  
[;]  
  

Catatan

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

Argumen

ConversationPriorityName
Menentukan nama prioritas percakapan yang akan diubah. Nama harus merujuk ke prioritas percakapan dalam database saat ini.

SET
Menentukan kriteria untuk menentukan apakah prioritas percakapan berlaku untuk percakapan. SET diperlukan dan harus berisi setidaknya satu kriteria: CONTRACT_NAME, LOCAL_SERVICE_NAME, REMOTE_SERVICE_NAME, atau PRIORITY_LEVEL.

CONTRACT_NAME = {ContractName | ANY}
Menentukan nama kontrak yang akan digunakan sebagai kriteria untuk menentukan apakah prioritas percakapan berlaku untuk percakapan. ContractName adalah pengidentifikasi Mesin Database, dan harus menentukan nama kontrak dalam database saat ini.

ContractName
Menentukan bahwa prioritas percakapan hanya dapat diterapkan ke percakapan di mana pernyataan BEGIN DIALOG yang memulai percakapan yang ditentukan PADA CONTRACT ContractName.

ANY
Menentukan bahwa prioritas percakapan dapat diterapkan ke percakapan apa pun, terlepas dari kontrak mana yang digunakannya.

Jika CONTRACT_NAME tidak ditentukan, properti kontrak prioritas percakapan tidak diubah.

LOCAL_SERVICE_NAME = {LocalServiceName | ANY}
Menentukan nama layanan yang akan digunakan sebagai kriteria untuk menentukan apakah prioritas percakapan berlaku untuk titik akhir percakapan.

LocalServiceName adalah pengidentifikasi Mesin Database dan harus menentukan nama layanan dalam database saat ini.

LocalServiceName
Menentukan bahwa prioritas percakapan dapat diterapkan ke hal berikut:

  • Setiap titik akhir percakapan inisiator yang nama layanan inisiatornya cocok dengan LocalServiceName.

  • Setiap titik akhir percakapan target yang nama layanan targetnya cocok dengan LocalServiceName.

ANY

  • Menentukan bahwa prioritas percakapan dapat diterapkan ke titik akhir percakapan apa pun, terlepas dari nama layanan lokal yang digunakan oleh titik akhir.

Jika LOCAL_SERVICE_NAME tidak ditentukan, properti layanan lokal prioritas percakapan tidak diubah.

REMOTE_SERVICE_NAME = {'RemoteServiceName' | ANY}
Menentukan nama layanan yang akan digunakan sebagai kriteria untuk menentukan apakah prioritas percakapan berlaku untuk titik akhir percakapan.

RemoteServiceName adalah literal jenis nvarchar(256). Service Broker menggunakan perbandingan byte-byte untuk mencocokkan string RemoteServiceName . Perbandingan peka huruf besar/kecil dan tidak mempertimbangkan kolate saat ini. Layanan target dapat berada dalam instans Mesin Database saat ini, atau instans jarak jauh Mesin Database.

'RemoteServiceName'
Menentukan prioritas percakapan ditetapkan ke hal berikut:

  • Setiap titik akhir percakapan inisiator yang nama layanan target terkaitnya cocok dengan RemoteServiceName.

  • Setiap titik akhir percakapan target yang nama layanan inisiator terkaitnya cocok dengan RemoteServiceName.

ANY
Menentukan bahwa prioritas percakapan berlaku untuk titik akhir percakapan apa pun, terlepas dari nama layanan jarak jauh yang terkait dengan titik akhir.

Jika REMOTE_SERVICE_NAME tidak ditentukan, properti layanan jarak jauh dari prioritas percakapan tidak diubah.

PRIORITY_LEVEL = { PriorityValue | DEFAULT }
Menentukan tingkat prioritas untuk menetapkan titik akhir percakapan apa pun yang menggunakan kontrak dan layanan yang ditentukan dalam prioritas percakapan. PriorityValue harus berupa bilangan bulat harfiah dari 1 (prioritas terendah) hingga 10 (prioritas tertinggi).

Jika PRIORITY_LEVEL tidak ditentukan, properti tingkat prioritas prioritas percakapan tidak diubah.

Keterangan

Tidak ada properti yang diubah oleh ALTER BROKER PRIORITY yang diterapkan ke percakapan yang ada. Percakapan yang ada dilanjutkan dengan prioritas yang ditetapkan saat dimulai.

Untuk informasi selengkapnya, lihat MEMBUAT PRIORITAS BROKER (Transact-SQL).

Izin

Izin untuk membuat prioritas percakapan default kepada anggota peran database tetap db_ddladmin atau db_owner , dan peran server tetap sysadmin . Memerlukan izin UBAH pada database.

Contoh

J. Hanya mengubah tingkat prioritas prioritas percakapan yang ada.

Mengubah tingkat prioritas, tetapi tidak mengubah kontrak, layanan lokal, atau properti layanan jarak jauh.

ALTER BROKER PRIORITY SimpleContractDefaultPriority  
    FOR CONVERSATION  
    SET (PRIORITY_LEVEL = 3);  

B. Mengubah semua properti prioritas percakapan yang ada.

Mengubah tingkat prioritas, kontrak, layanan lokal, dan properti layanan jarak jauh.

ALTER BROKER PRIORITY SimpleContractPriority  
    FOR CONVERSATION  
    SET (CONTRACT_NAME = SimpleContractB,  
         LOCAL_SERVICE_NAME = TargetServiceB,  
         REMOTE_SERVICE_NAME = N'InitiatorServiceB',  
         PRIORITY_LEVEL = 8);  

Lihat Juga

BUAT PRIORITAS BROKER (Transact-SQL)
DROP BROKER PRIORITY (Transact-SQL)
sys.conversation_priorities (T-SQL)