为 Service Broker 对象命名

适用于SQL ServerAzure SQL 托管实例

本文介绍命名 Service Broker 对象的注意事项。 对于公共接口对象、网络和安全配置对象以及队列,约定略有不同。

公共接口对象

Service Broker 应用程序的公共接口由约定、服务和消息类型组成。 因为这些对象的名称包含在消息中,所以这些对象的命名约定通常遵循统一资源定位符 (URI) 命名约定。 这有助于确保对象名称的唯一性。

服务名称也可使用这些约定来指定路由中的网络地址。 这种情况下,可以在传输路由中使用服务名称。 有关路由的详细信息,请参阅 Service Broker 路由

发送和接收消息时,Service Broker 使用这些对象名称的二进制匹配。 因此,在命名公共接口对象时,需要特别留意具有多个二进制表示形式的字符。

网络安全配置对象

路由和远程服务绑定的名称从不包括在消息中。 为方便起见,这些名称可使用相应对象配置的服务名称。

这些对象不能是临时对象。 因此,数字符号(#)在这些对象的名称中并不重要。 名称以 # 开头的对象为永久对象,而非临时对象。

队列

队列名称可用于接受表名称的许多语句。 因此,队列名称遵循标准 SQL Server 标识符约定,但有一种例外情况。 由于队列不能是临时对象,因此队列的名称不能以数字符号(#)开头。 队列是由架构所拥有的对象,所以队列名称可以包括架构名称和数据库名称。