You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/database-engine/service-broker/removing-poison-messages.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Removing Poison Messages
2
+
title: Remove Poison Messages
3
3
description: "A poison message is a message containing information that an application cannot successfully process."
4
4
author: rwestMSFT
5
5
ms.author: randolphwest
@@ -20,7 +20,7 @@ A poison message isn't a corrupt message, and might not be an invalid request. S
20
20
21
21
## Automatic poison message detection
22
22
23
-
Service Broker provides automatic poison message detection. When a transaction that contains a `RECEIVE` statement rolls back five times, Service Broker disables all queues that the transaction received messages from, by automatically setting the queue status to `OFF`. In addition, Service Broker generates an event of type Broker:Queue Disabled.
23
+
Service Broker provides automatic poison message detection. When a transaction that contains a `RECEIVE` statement rolls back five times, Service Broker disables all queues from which the transaction received messages by automatically setting the queue status to `OFF`. In addition, Service Broker generates an event of type **Broker:Queue Disabled**.
24
24
25
25
An administrator might use SQL Server Agent alerts to be notified when a queue is disabled. A developer can also create an application that detects when a queue is disabled by Service Broker. That application often inspects the messages in the queue to find the poison message. Once the application determines which message can't be processed, the application sets the queue status to `ON` and ends the conversation for the message with an error. An application that detects poison messages must be careful to clean up any state associated with the conversation when ending the conversation. For more information on creating an application to recover from poison messages, see [Handle poison messages](handling-poison-messages.md).
26
26
@@ -94,7 +94,7 @@ ROLLBACK TRANSACTION;
94
94
GO
95
95
```
96
96
97
-
When you find a poison message, you end the conversation. The following example ends the conversation e29059bb-9922-40f4-a575-66b2e4c70cf9.
97
+
When you find a poison message, you end the conversation. The following example ends the conversation e29059bb-9922-40f4-a575-66b2e4c70cf9:
98
98
99
99
```sql
100
100
-- End the conversation. Do this only if the message cannot be
Copy file name to clipboardExpand all lines: docs/database-engine/service-broker/routes.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,15 +18,15 @@ Service Broker uses routes to determine where to deliver messages. When a servic
18
18
19
19
There are three basic components of a route:
20
20
21
-
- Service name
21
+
-**Service name**
22
22
23
23
The name of the service that this route specifies addressing for. This name must be an exact match for the Service Name in the `BEGIN DIALOG` command.
24
24
25
-
- Broker instance identifier
25
+
-**Broker instance identifier**
26
26
27
27
A unique identifier for a specific database to send the messages to. This is the `service_broker_guid` column in the `sys.databases` table row for the database that this route points to.
28
28
29
-
- Network address
29
+
-**Network address**
30
30
31
31
An actual machine address, a keyword that restricts the route to the local machine, or a keyword that indicates that the transport layer deduces the address from the service name. A network address can be the address of the broker that hosts the service, or it can be the address of a forwarding broker.
Copy file name to clipboardExpand all lines: docs/database-engine/service-broker/security-overview.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,13 +16,13 @@ ms.topic: conceptual
16
16
17
17
Service Broker helps you write highly scalable database applications that are also secure and reliable. Service Broker security allows services hosted by different SQL Server instances to communicate securely, even where the instances are on different computers that have no other trust relationship or where the source and destination computers aren't connected to the same network at the same time.
18
18
19
-
Service Broker security relies on certificates. The general approach is to use certificates to establish the credentials of a remote database, and then to map operations from the remote database to a local user. The permissions for the local user apply to any operation on behalf of the remote service. The certificate is shared between databases. No other information for the user is shared.
19
+
Service Broker security relies on certificates. The general approach is to use certificates to establish the credentials of a remote database, then to map operations from the remote database to a local user. The permissions for the local user apply to any operation on behalf of the remote service. The certificate is shared between databases. No other information for the user is shared.
20
20
21
-
Service Broker provides two distinct types of security - dialog security and transport security. Understanding these two types of security, and how they work together, helps you to design, deploy, and administer Service Broker applications.
21
+
Service Broker provides two distinct types of security: dialog security and transport security. Understanding these two types of security and how they work together helps you to design, deploy, and administer Service Broker applications.
22
22
23
-
-**Dialog security** - Encrypts messages in an individual dialog conversation and verifies the identities of participants in the dialog. Dialog security also provides remote authorization and message integrity checking. Dialog security establishes authenticated and encrypted communication between two services.
23
+
-**Dialog security**: Encrypts messages in an individual dialog conversation and verifies the identities of participants in the dialog. Dialog security also provides remote authorization and message integrity checking. Dialog security establishes authenticated and encrypted communication between two services.
24
24
25
-
-**Transport security** - Prevents unauthorized databases from sending Service Broker messages to databases in the local instance. Transport security establishes an authenticated network connection between two databases.
25
+
-**Transport security**: Prevents unauthorized databases from sending Service Broker messages to databases in the local instance. Transport security establishes an authenticated network connection between two databases.
26
26
27
27
The dialog protocol and the adjacent broker protocol are designed around passing messages between databases, rather than executing commands on a remote database. This style of communication allows Service Broker to provide services without requiring databases to share SQL Server logins or Windows security credentials.
28
28
@@ -42,7 +42,7 @@ To satisfy the requirement that messages must be encrypted, Adventure Works and
42
42
43
43
1. Each vendor installs the certificate from Adventure Works Cycles into the database and creates a user that owns the certificate.
44
44
45
-
1. The vendor then creates a key pair, and sends information on the service name for the vendor service and a certificate with the public key of that key pair to the AdventureWorks2008R2 administrator.
45
+
1. The vendor then creates a key pair and sends information on the service name for the vendor service and a certificate with the public key of that key pair to the AdventureWorks2008R2 administrator.
46
46
47
47
1. The AdventureWorks2008R2 administrator creates a user for each vendor and associates the certificate from that vendor with the user.
Copy file name to clipboardExpand all lines: docs/database-engine/service-broker/service-architecture.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,13 +18,13 @@ This section describes the database objects that specify the basic design of an
18
18
19
19
At design time, Service Broker applications specify the following objects:
20
20
21
-
- Message types - Define the names of the messages exchanged between applications. Optionally provide validation for the messages.
21
+
-**Message types**: Define the names of the messages exchanged between applications. Optionally provide validation for the messages.
22
22
23
-
- Contracts- Specify the direction and type of messages in a given conversation.
23
+
-**Contracts**: Specify the direction and type of messages in a given conversation.
24
24
25
-
- Queues- Store messages. This storage mechanism allows for asynchronous communication between services. Service Broker queues provide additional benefits, such as automatically locking messages in the same conversation group.
25
+
-**Queues**: Store messages. This storage mechanism allows for asynchronous communication between services. Service Broker queues provide additional benefits, such as automatically locking messages in the same conversation group.
26
26
27
-
- Services- Are addressable endpoints for conversations. Service Broker messages are sent from one service to another service. A service specifies a queue to hold messages, and specifies the contracts for which the service can be the target. A contract provides a service with a well-defined set of message types.
27
+
-**Services**: Are addressable endpoints for conversations. Service Broker messages are sent from one service to another service. A service specifies a queue to hold messages, and specifies the contracts for which the service can be the target. A contract provides a service with a well-defined set of message types.
28
28
29
29
A Service Broker application uses the SQL Server objects in the preceding list to conduct a conversation. Any program that can run Transact-SQL statements in SQL Server can use Service Broker. Applications can be stored procedures written in Transact-SQL or a CLR-compliant language, or they can be external programs that connect to an instance of SQL Server.
30
30
@@ -39,7 +39,7 @@ As shown in the illustration, the **ProcessExpenses** contract specifies three m
39
39
| Article | Description |
40
40
| --- | --- |
41
41
|[Message types](message-types.md)| Participants in a conversation must agree on the name and content of each message. Message types define names and content. |
42
-
|[Contracts](contracts.md)| Contracts defines which message types an application uses to accomplish a particular task. |
42
+
|[Contracts](contracts.md)| Contracts define which message types an application uses to accomplish a particular task. |
43
43
|[Queues](queues.md)| Queues store Service Broker messages. |
44
44
|[Services](services.md)| Service Broker services are names for specific business tasks or sets of business tasks. |
Copy file name to clipboardExpand all lines: docs/database-engine/service-broker/service-broker-activation.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ Not all Service Broker applications use activation. If an application requires s
26
26
27
27
| Article | Description |
28
28
| --- | --- |
29
-
|[Understanding when activation occurs](understanding-when-activation-occurs.md)| Describes the two steps of the Service Broker activation process. |
29
+
|[Understand when activation occurs](understanding-when-activation-occurs.md)| Describes the two steps of the Service Broker activation process. |
30
30
|[Internal activation context](internal-activation-context.md)| Describes the execution context for a stored procedure that is started by internal activation. |
31
31
|[Event-based activation](event-based-activation.md)| Describes the event and strategies for receiving and responding to the event. |
Copy file name to clipboardExpand all lines: docs/database-engine/service-broker/service-broker-application-outline.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ Most Service Broker applications follow the same basic steps to receive and proc
34
34
35
35
The precise structure of the application depends on the requirements of the application, the communication style of the application, whether the application is a target service or an initiating service, and whether Service Broker activates the application or not.
36
36
37
-
For example, an initiating application sends a message before it starts the processing loop outlined in the preceding steps. The initiating service might send a message from another program or stored procedure, and then use an activation stored procedure for the initiating service queue. For example, an orderentry application can include an external application that initiates the conversation to enter the order. After the order is entered, the external application need not remain running. An activation stored procedure for the initiating service sends the order confirmation when a response returns from the order service. The activation stored procedure also processes any Service Broker error messages that are returned by the target service and sends notifications that the order couldn't be confirmed.
37
+
For example, an initiating application sends a message before it starts the processing loop outlined in the preceding steps. The initiating service might send a message from another program or stored procedure, then use an activation stored procedure for the initiating service queue. For example, an order-entry application can include an external application that initiates the conversation to enter the order. After the order is entered, the external application need not remain running. An activation stored procedure for the initiating service sends the order confirmation when a response returns from the order service. The activation stored procedure also processes any Service Broker error messages that are returned by the target service and sends notifications that the order couldn't be confirmed.
38
38
39
39
Alternatively, rather than sending a message from a different program, the initiating application might send a message and then start the processing loop as part of the same program. Regardless of these variations, the basic outline remains the same.
Copy file name to clipboardExpand all lines: docs/database-engine/service-broker/service-broker-communication-protocols.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,7 +60,7 @@ Fragmenting messages has several advantages. Sending a large message in small fr
60
60
61
61
While a message is being reassembled, the partial message is stored in the destination queue. If the destination queue isn't available, it's stored in the transmission queue. A partial message can't be received by an application. The `status` column for a partial message is set to `2` (Disabled). This value is also used for messages received out of order.
62
62
63
-
### Message acknowledgement
63
+
### Message acknowledgment
64
64
65
65
Service Broker acknowledges each message received. An acknowledgment can acknowledge one or several message fragments. If possible, an acknowledgment is included in the header of a message returned on the same conversation. If no other messages are ready to be sent, Service Broker returns a dedicated acknowledgment message. Message acknowledgment is handled entirely by Service Broker; an application that uses Service Broker doesn't receive these messages.
You can create a Broker Configuration Notice (BCN) service on an initiating server which will automatically bind conversations to a specific user on a target server.
17
+
You can create a Broker Configuration Notice (BCN) service on an initiating server which automatically binds conversations to a specific user on a target server.
18
18
19
19
## Initiate conversations
20
20
21
-
When a BCN service is created, the initiating service will send a **MissingRemoteServiceBinding** message to the BCN service to ask if a user context is available for the conversation on the target server. When the BCN service responds that a user context is available, the user context is bound to the conversation, and all messages are added to the queue under the context of the user. If `ENCRYPTION = ON`, the dialog will not proceed until the BCN service confirms that a user context is available. If `ENCRYPTION = OFF`, the dialog will proceed after the BCN ends the **MissingRemoteServiceBinding** conversation.
21
+
When a BCN service is created, the initiating service sends a **MissingRemoteServiceBinding** message to the BCN service to ask if a user context is available for the conversation on the target server. When the BCN service responds that a user context is available, the user context is bound to the conversation, and all messages are added to the queue under the context of the user. If `ENCRYPTION = ON`, the dialog won't proceed until the BCN service confirms that a user context is available. If `ENCRYPTION = OFF`, the dialog proceeds after the BCN ends the **MissingRemoteServiceBinding** conversation.
22
22
23
23
> [!NOTE]
24
-
> If a BCN service is created, the initiating service will request the user context regardless of the encryption status.
24
+
> If a BCN service is created, the initiating service requests the user context regardless of the encryption status.
25
25
26
26
## Service Broker Configuration Notice service and dynamic routing
0 commit comments