Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Instância Gerenciada de SQL do Azure
Às vezes, pode ser necessário inspecionar o conteúdo de uma fila como um todo. Talvez você queira saber quantas mensagens a fila contém ou talvez queira garantir que o aplicativo tenha processado todas as mensagens de um serviço que você está prestes a colocar offline. Talvez seja necessário descobrir por que as mensagens não estão sendo processadas por um aplicativo.
Para obter essas informações, use o nome da fila como a tabela de origem em uma instrução SELECT. Uma SELECT instrução em uma fila tem o mesmo formato de uma SELECT instrução em uma exibição ou uma tabela.
Observação
O Service Broker é projetado para permitir que vários leitores de fila recebam mensagens eficientemente de uma fila. No entanto, uma SELECT declaração em uma fila pode causar bloqueio. Ao usar uma instrução SELECT em uma fila, especifique a sugestão NOLOCK para evitar o bloqueio de aplicativos que usam a fila. Para obter uma descrição das colunas em uma fila, consulte CREATE QUEUE.
Veja a seguir uma instrução de exemplo SELECT para descobrir o número de mensagens na fila ExpenseQueue:
SELECT COUNT(*)
FROM dbo.ExpenseQueue WITH (NOLOCK);
A instrução SELECT a seguir permite que o administrador saiba se a fila ExpenseQueue contém mensagens para o serviço 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';
O Service Broker gerencia atualizações em filas. Embora o nome de uma fila possa ser usado no lugar de um nome de tabela em uma instrução SELECT, uma fila não pode ser o destino de uma instrução INSERT, UPDATE, DELETE ou TRUNCATE. O SQL Server não permite que os usuários criem índices em filas.