互操作性和共存 (Service Broker)

除了会话优先级外,Service Broker 在 SQL Server 2008 和 SQL Server 2005 中的操作方式是一样的。

会话优先级

无法在连接到 SQL Server 2005 数据库引擎实例的数据库中定义会话优先级。SQL Server 2005 数据库中的所有 Service Broker 操作在执行时就像具有相同优先级别一样。

在 SQL Server 2008 与 SQL Server 2005 数据库间的会话中,SQL Server 2005 数据库中的会话端点总是像具有默认优先级别 5 那样运行。您可以将 SQL Server 2008 数据库中的会话端点配置为具有不同的优先级别,但不能对 SQL Server 2005 数据库中的端点执行此操作。所有消息就像具有优先级别 5 那样从 SQL Server 2005 实例进行传输。SQL Server 2005 数据库中的所有服务队列就像具有相同的优先级别一样返回消息和会话组。

若要启用 SQL Server 2005 数据库中的会话优先级,可以执行以下操作:

  • 通过以下方式之一将数据库升级到 SQL Server 2005:

    • 将数据库引擎实例升级到 SQL Server 2008。

    • 分离数据库,并将其重新附加到数据库引擎的 SQL Server 2008 实例。

  • 使用 ALTER DATABASE 语句将 HONOR_BROKER_PRIORITY 数据库选项设置为 ON。

  • 使用 CREATE BROKER PRIORITYALTER BROKER PRIORITYDROP BROKER PRIORITY 语句来配置数据库中的一组会话优先级。