Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Managed Instance
Verandert de prioriteit van het gesprek van een Service Broker.
Transact-SQL syntaxis-conventies
Syntax
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 } ]
)
}
[;]
Arguments
ConversationPriorityName
Specificeert de naam van de gespreksprioriteit die gewijzigd moet worden. De naam moet verwijzen naar een gespreksprioriteit in de huidige database.
SET
Specificeert de criteria om te bepalen of de prioriteit van het gesprek geldt voor een gesprek.
SET vereist is en moet ten minste één criterium bevatten: CONTRACT_NAME, LOCAL_SERVICE_NAME, REMOTE_SERVICE_NAME of PRIORITY_LEVEL.
CONTRACT_NAME = {ContractName | ANY}
Specificeert de naam van een contract die als criterium moet worden gebruikt om te bepalen of de prioriteit van het gesprek geldt voor een gesprek.
ContractName is een Database Engine-identificatie en moet de naam van een contract in de huidige database specificeren.
ContractName
Specificeert dat de gespreksprioriteit alleen kan worden toegepast op gesprekken waarbij de BEGIN DIALOG-instructie die het gesprek begon ON CONTRACTContractName specificeerde.
ANY
Specificeert dat de gespreksprioriteit op elk gesprek kan worden toegepast, ongeacht welk contract het gebruikt.
Als CONTRACT_NAME niet wordt gespecificeerd, wordt de contracteigenschap van de gespreksprioriteit niet gewijzigd.
LOCAL_SERVICE_NAME = {localServiceName | ANY}
Specificeert de naam van een dienst die als criterium moet worden gebruikt om te bepalen of de conversatieprioriteit van toepassing is op een conversatie-endpoint.
LocalServiceName is een Database Engine-identificatie en moet de naam van een dienst in de huidige database specificeren.
LocalServiceName
Specificeert dat de conversatieprioriteit kan worden toegepast op de volgende personen:
Elk initiator-conversatie-eindpunt waarvan de initiatorservicenaam overeenkomt met LocalServiceName.
Elk doelgespreks-eindpunt waarvan de naam van de doelservice overeenkomt met LocalServiceName.
ANY
- Specificeert dat de conversatieprioriteit kan worden toegepast op elk gespreks-eindpunt, ongeacht de naam van de lokale dienst die door het eindpunt wordt gebruikt.
Als LOCAL_SERVICE_NAME niet is gespecificeerd, wordt de lokale service-eigenschap van de gespreksprioriteit niet gewijzigd.
REMOTE_SERVICE_NAME = {'RemoteServiceName' | ANY}
Specificeert de naam van een dienst die als criterium moet worden gebruikt om te bepalen of de conversatieprioriteit van toepassing is op een conversatie-endpoint.
RemoteServiceName is een letterlijke vorm van het type nvarchar(256). Service Broker gebruikt een byte-voor-byte vergelijking om de RemoteServiceName-string te matchen. De vergelijking is hoofdlettergevoelig en houdt geen rekening met de huidige collatie. De doelservice kan zich bevinden in de huidige instantie van de Database Engine, of in een externe instantie van de Database Engine.
'RemoteServiceName'
Specificeert dat de gespreksprioriteit aan de volgende moet worden toegekend:
Elk initiatorgesprekseindpunt waarvan de bijbehorende doelservicenaam overeenkomt met RemoteServiceName.
Elk doelconversatie-eindpunt waarvan de bijbehorende initiator-servicenaam overeenkomt met RemoteServiceName.
ANY
Specificeert dat de conversatieprioriteit van toepassing is op elk conversatie-eindpunt, ongeacht de naam van de externe dienst die aan het eindpunt is gekoppeld.
Als REMOTE_SERVICE_NAME niet is gespecificeerd, wordt de eigenschap van de remote service van de gespreksprioriteit niet gewijzigd.
PRIORITY_LEVEL = { PriorityValue | DEFAULT }
Specificeert het prioriteitsniveau om elk gesprekseindpunt toe te wijzen dat de contracten en diensten gebruikt die in de gespreksprioriteit zijn gespecificeerd.
PriorityValue moet een geheel getal zijn van 1 (laagste prioriteit) tot 10 (hoogste prioriteit).
Als PRIORITY_LEVEL niet wordt gespecificeerd, wordt de prioriteitsniveau-eigenschap van de gespreksprioriteit niet gewijzigd.
Remarks
Geen enkele eigenschappen die worden gewijzigd worden toegepast op ALTER BROKER PRIORITY bestaande gesprekken. De bestaande gesprekken gaan verder met de prioriteit die bij het starten werd toegekend.
Voor meer informatie, zie CREATE BROKER PRIORITY (Transact-SQL).
Permissions
Toestemming voor het aanmaken van een gesprekprioriteit is standaard leden van de db_ddladmin of db_owner vaste databaserollen, en de sysadmin-vaste serverrol. Vereist ALTER-machtigingen voor de database.
Examples
A. Alleen het prioriteitsniveau van een bestaande gespreksprioriteit veranderen.
Verandert het prioriteitsniveau, maar verandert niet de eigenschappen van het contract, de lokale dienst of de externe service.
ALTER BROKER PRIORITY SimpleContractDefaultPriority
FOR CONVERSATION
SET (PRIORITY_LEVEL = 3);
B. Het veranderen van alle eigenschappen van een bestaande gespreksprioriteit.
Verandert de eigenschappen van prioriteitsniveau, contract, lokale dienst en externe service.
ALTER BROKER PRIORITY SimpleContractPriority
FOR CONVERSATION
SET (CONTRACT_NAME = SimpleContractB,
LOCAL_SERVICE_NAME = TargetServiceB,
REMOTE_SERVICE_NAME = N'InitiatorServiceB',
PRIORITY_LEVEL = 8);
Zie ook
CREATE BROKER PRIORITY (Transact-SQL)
DROP BROKER PRIORITY (Transact-SQL)
sys.conversation_priorities (Transact-SQL)