Share via


Consultar colas

En ocasiones puede ser necesario inspeccionar el contenido de una cola en su conjunto. Es posible que desee saber cuántos mensajes contiene la cola o que necesite asegurarse de que la aplicación ha procesado todos los mensajes para un servicio que va a dejar sin conexión. Puede que necesite saber por qué una aplicación no está procesando los mensajes.

Para obtener esta información, utilice el nombre de la cola como la tabla de origen de una instrucción SELECT. Una instrucción SELECT en una cola tiene el mismo formato que una instrucción SELECT en una vista o una tabla.

Nota

Service Broker está diseñado para permitir que varios lectores de cola reciban mensajes eficazmente desde una cola. Sin embargo, una instrucción SELECT en una cola puede provocar un bloqueo. Al utilizar una instrucción SELECT en una cola, especifique la sugerencia NOLOCK para evitar que se bloqueen las aplicaciones que utilizan la cola.

Para obtener una descripción de las columnas de una cola, vea CREATE QUEUE (Transact-SQL).

En el siguiente ejemplo se muestra una instrucción SELECT que calcula el número de mensajes de la cola ExpenseQueue:

SELECT COUNT(*) FROM dbo.ExpenseQueue WITH (NOLOCK) ;

La siguiente instrucción SELECT permite al administrador saber si la cola ExpenseQueue contiene algún mensaje para el servicio //Adventure-Works.com/AccountsPayable/Expenses:

IF EXISTS(SELECT * FROM dbo.ExpenseQueue WITH (NOLOCK) WHERE
          service_name = '//Adventure-Works.com/AccountsPayable/Expenses')
  PRINT 'The queue contains messages for ' +
        '//Adventure-Works.com/AccountsPayable/Expenses'
ELSE
  PRINT 'The queue does not contain messages for ' +
        '//Adventure-Works.com/AccountsPayable/Expenses' ;

Service Broker administra las actualizaciones de las colas. Aunque se puede utilizar el nombre de una cola en lugar de un nombre de tabla en una instrucción SELECT, una cola no puede ser el destino de las instrucciones INSERT, UPDATE, DELETE ni TRUNCATE. SQL Server no permite que los usuarios creen índices en las colas.

Vea también

Referencia

Conceptos