A contract defines the message types available in a Service Broker conversation and determines which participant is authorized to send each message type.
Database Explorer allows you to perform operations on contracts using the shortcut menu. Right-click a contract in Database Explorer to access commands for specific tasks, such as editing, deleting contracts, or generating scripts for them.
You can create a contract in SQL Editor in one of these ways:
1. In Database Explorer, right-click the contract you want to edit and select Modify via SQL.
2. In a SQL document, update the ALTER AUTHORIZATION ON CONTRACT statement.
3. On the SQL toolbar, click Execute or press F5.
1. In Database Explorer, right-click the contract you want to delete and select Delete, or press Delete.
2. Click Yes to confirm the deletion.
Note
You cannot undo the drop operation, as this action permanently deletes all its data and structure. It is recommended that you back up the database before deleting it.
1. In Database Explorer, right-click a required contract and select Duplicate Object.
2. In the Duplicate Object dialog, configure the object settings:
3. Click OK.
1. In Database Explorer, right-click a required contract and select Generate Script As, then select the statement type.
2. Select the output option:
To view contract properties, in Database Explorer, right-click the contract or Contracts node and select Show Details.
Object Viewer opens, displaying detailed information about the contract.
To update the contract to reflect the latest changes, in Database Explorer, right-click the contract or Contracts node and select Refresh, or press F5.
To open the Properties window, in Database Explorer, right-click the contract and select Properties, or press F4.
1. In Database Explorer, right-click the Contracts node and select Filter.
2. In the Filter Settings (Contracts) dialog, configure the filter parameters.
3. Click OK to apply the filter.
Note
When you open the Contracts node, the number of objects it contains appears in parentheses next to the node name. This number changes based on your filter settings.
The following table describes the shortcut menu options, which appear when you right-click a specific contract in Database Explorer.
| Name | Description |
|---|---|
| Modify via SQL | Opens the existing contract in a new SQL document containing an ALTER AUTHORIZATION ON CONTRACT statement to update it. |
| Source Control > Source Control Manager | Opens Source Control Manager, where you can track and manage changes to database schema and static data. When Source Control Manager is already open, this option refreshes it. |
| Source Control > Commit | Opens Source Control Manager with all local changes (if any) selected and ready to commit. When Source Control Manager is already open, this option refreshes it and selects all local database changes. |
| Source Control > Get Latest | Opens Source Control Manager with all remote changes (if any) selected, ready to pull using Get Latest. When Source Control Manager is already open, this option refreshes it and selects all remote database changes. |
| Duplicate Object | Opens the Duplicate Object dialog to duplicate the object. |
| Generate Script As | Generates a script of the selected object using the CREATE, DROP, DROP and CREATE, and ALTER statements. The script can be saved to a new SQL document or to a file, or copied to the clipboard. |
| Show Details | Opens Object Viewer to view object details. |
| Delete | Drops the selected object from the database. Shortcut: Delete |
| Refresh | Updates the object to reflect the latest changes. Shortcut: F5 |
| Properties | Opens the Properties pane to view the object information. Shortcut: F4 |
The following table describes the shortcut menu options, which appear when you right-click the Contracts node in Database Explorer.
| Name | Description |
|---|---|
| Source Control > Source Control Manager | Opens Source Control Manager, where you can track and manage changes to database schema and static data. When Source Control Manager is already open, this option refreshes it. |
| Source Control > Commit | Opens Source Control Manager with all local changes (if any) selected and ready to commit. When Source Control Manager is already open, this option refreshes it and selects all local database changes. |
| Source Control > Get Latest | Opens Source Control Manager with all remote changes (if any) selected, ready to pull using Get Latest. When Source Control Manager is already open, this option refreshes it and selects all remote database changes. |
| Filter | Opens the Filter Settings dialog to control which contracts should appear in Database Explorer. |
| Show Details | Opens Object Viewer to view object details. |
| Refresh | Updates the object to reflect the latest changes. Shortcut: F5 |
Note
The Source Control shortcut menu is available only after you link the corresponding database to a source-control system.
In Database Explorer, hold down Ctrl and select multiple contracts. Then right-click the selection and select the required option.
The following table describes the shortcut menu options available for multiple contracts.
| Name | Description |
|---|---|
| Source Control > Source Control Manager | Opens Source Control Manager, where you can track and manage changes to database schema and static data. When Source Control Manager is already open, this option refreshes it. |
| Source Control > Commit | Opens Source Control Manager with all local changes (if any) selected and ready to commit. When Source Control Manager is already open, this option refreshes it and selects all local database changes. |
| Source Control > Get Latest | Opens Source Control Manager with all remote changes (if any) selected, ready to pull using Get Latest. When Source Control Manager is already open, this option refreshes it and selects all remote database changes. |
| Source Control > Link/Unlink Static Data | Opes the Source Control Link Static Data dialog that displays the tables whose data you want to link. |
| Generate Script As | Generates scripts of the selected objects using the CREATE, DROP, DROP and CREATE, and ALTER statements. The scripts can be generated to a new SQL document or to a file, or copied to the clipboard. |
| Delete | Drops the selected contracts from the database. Shortcut: Delete |
