Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server Управляемый экземпляр SQL Azure
Изменяет свойства приоритета беседы Service Broker.
Соглашения о синтаксисе Transact-SQL
Синтаксис
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 } ]
)
}
[;]
Аргументы
ConversationPriorityName
Имя изменяемого приоритета диалога. Это имя должно ссылаться на приоритет диалога в текущей базе данных.
SET
Задает критерий для определения применимости приоритета к заданному диалогу. Аргумент SET обязателен и должен содержать хотя бы один критерий: CONTRACT_NAME, LOCAL_SERVICE_NAME, REMOTE_SERVICE_NAME или PRIORITY_LEVEL.
CONTRACT_NAME = {ContractName | ANY}
Указывает имя контракта, который будет использоваться в качестве критерия, определяющего применимость приоритета к диалогу. ContractName — это идентификатор ядро СУБД и должен указать имя контракта в текущей базе данных.
ContractName
Указывает, что приоритет может применяться только к диалогам, в которых инструкция BEGIN DIALOG, начинающая диалог, содержит параметр ON CONTRACT ContractName.
ЛЮБАЯ
Указывает, что приоритет может применяться к любому диалогу, независимо от используемого контракта.
Если аргумент CONTRACT_NAME не был указан, то свойство контракта приоритета диалога не изменяется.
LOCAL_SERVICE_NAME = {LocalServiceName | ANY}
Указывает имя службы, которая будет использоваться в качестве критерия для определения применимости приоритета к конечной точке диалога.
LocalServiceName — это идентификатор ядро СУБД и должен указывать имя службы в текущей базе данных.
LocalServiceName
Указывает, что объектом применения приоритета диалога может быть:
любая конечная точка-инициатор диалога, имя вызывающей службы которой соответствует аргументу LocalServiceName;
любая целевая конечная точка диалога, имя целевой службы которой соответствует аргументу LocalServiceName.
ЛЮБАЯ
- Указывает, что приоритет может применяться к любой конечной точке диалога, независимо от имени локальной службы, используемой точкой.
Если аргумент LOCAL_SERVICE_NAME не был указан, то свойство локальной службы приоритета диалога не изменяется.
REMOTE_SERVICE_NAME = {'RemoteServiceName' | ANY}
Указывает имя службы, которая будет использоваться в качестве критерия для определения применимости приоритета к конечной точке диалога.
RemoteServiceName — это литерал типа nvarchar(256). Service Broker использует сравнение байтов по байтам для сопоставления строки RemoteServiceName . При сравнении учитывается регистр и не применяются текущие параметры сортировки. Целевая служба может находиться в текущем экземпляре ядро СУБД или удаленном экземпляре ядро СУБД.
'RemoteServiceName'
Задает приоритет диалога, который будет иметь:
любая конечная точка-инициатор диалога, для которой имя целевой службы совпадает с параметром RemoteServiceName;
любая целевая конечная точка диалога, для которой имя вызывающей службы совпадает с параметром RemoteServiceName.
ЛЮБАЯ
Указывает, что приоритет диалога будет применяться ко всем конечным точкам диалога, вне зависимости от имен удаленных служб, связанных с ними.
Если аргумент REMOTE_SERVICE_NAME не был указан, то свойство удаленной службы приоритета диалога не изменяется.
PRIORITY_LEVEL = { PriorityValue | DEFAULT }
Задает уровень приоритета, который будет присвоен любой конечной точке диалога, использующей контракты и службы, указанные в приоритете диалога. Аргумент PriorityValue должен быть целочисленным литералом в диапазоне от 1 (наименьший приоритет) до 10 (наибольший приоритет).
Если аргумент PRIORITY_LEVEL не был указан, то свойство уровня приоритета для приоритета диалога не изменяется.
Замечания
Свойства, измененные с помощью инструкции ALTER BROKER PRIORITY, не применяются к существующим диалогам. Существующие диалоги будут использовать приоритет, который был задан при их запуске.
Дополнительные сведения см. в статье CREATE BROKER PRIORITY (Transact-SQL).
Разрешения
Разрешение на создание приоритета диалога по умолчанию имеют члены предопределенных ролей базы данных db_ddladmin и db_owner и члены предопределенной роли сервера sysadmin. Необходимо разрешение ALTER в базе данных.
Примеры
А. Изменение только уровня приоритета существующего диалога.
Изменяет уровень приоритета, но не изменяет свойства контракта, локальной службы и удаленной службы.
ALTER BROKER PRIORITY SimpleContractDefaultPriority
FOR CONVERSATION
SET (PRIORITY_LEVEL = 3);
B. Изменение всех свойств приоритета существующего диалога.
Изменяет свойства уровня приоритета, контракта, локальной и удаленной служб.
ALTER BROKER PRIORITY SimpleContractPriority
FOR CONVERSATION
SET (CONTRACT_NAME = SimpleContractB,
LOCAL_SERVICE_NAME = TargetServiceB,
REMOTE_SERVICE_NAME = N'InitiatorServiceB',
PRIORITY_LEVEL = 8);
См. также
CREATE BROKER PRIORITY (Transact-SQL)
DROP BROKER PRIORITY (Transact-SQL)
sys.conversation_priorities (Transact-SQL)