Compartilhar via


Escopo da consulta

O escopo de uma consulta é determinado pelo objeto ao qual você se vincula. Se você não tiver certeza de onde o objeto está localizado dentro da empresa, então você precisará fazer uma pesquisa tão ampla quanto possível. No entanto, se você souber que o objeto estará contido em um domínio específico, como o domínio ao qual o usuário está conectado, ou em um grupo específico, como o grupo Gerentes, defina o escopo da pesquisa para refletir a circunstância. Para obter o melhor desempenho, você deve tentar direcionar o escopo para pesquisar o menor número possível de objetos.

Quando você não tiver certeza de onde um objeto estará localizado na empresa, poderá vincular ao serviço de catálogo global. O serviço de catálogo global contém uma lista de cada objeto no diretório e um pequeno subconjunto dos atributos de cada objeto. Depois de localizar o objeto no catálogo global, você pode recuperar seu nome distinto do catálogo global e usá-lo para vincular ao objeto para executar outras operações.

Depois de decidir a qual objeto vincular, você pode restringir ainda mais a consulta a um dos seguintes escopos: uma consulta base, uma consulta de um nível ou uma pesquisa de subárvore, conforme mostrado na ilustração a seguir.

objects at the root of a search for a base, one-level, or subtree search

Base

Uma consulta base limita a pesquisa apenas ao objeto base. O número máximo de objetos retornados é sempre um. Essa pesquisa pode ser usada para verificar a existência de um objeto. Por exemplo, se você tiver o nome distinto de um objeto e precisar verificar a existência do objeto com base no caminho, poderá usar uma pesquisa de um nível. Se a pesquisa falhar, você pode assumir que o objeto pode ter sido renomeado ou movido para um local diferente ou que você recebeu dados incorretos sobre o objeto. Lembre-se de que você deve armazenar o GUID em vez do nome distinto se quiser revisitar um objeto. Isso permite que o objeto seja renomeado ou movido na hierarquia de diretórios sem quebrar o link persistente.

Um Nível

Uma pesquisa de um nível é restrita aos filhos imediatos de um objeto base, mas exclui o próprio objeto base. Essa configuração pode executar uma pesquisa direcionada para objetos filho imediatos de um objeto pai. Por exemplo, se você tiver um objeto pai chamado P1 e seus filhos imediatos forem: C1, C2, C3, em uma pesquisa de um nível, C1, C2 e C3 devem ser incluídos ao avaliar os critérios, mas P1 não faria parte da pesquisa. Uma pesquisa de um nível pode ser usada para enumerar todos os filhos de um objeto. Na verdade, em alguns provedores ADSI, a enumeração IADsContainer se traduz em uma pesquisa de um nível.

Subárvore

Uma pesquisa de subárvore, também conhecida como pesquisa profunda, inclui todos os objetos abaixo do objeto base, excluindo o próprio objeto base. Essa pesquisa pode gerar referências para outros servidores. Essa pesquisa tem o maior escopo e pode retornar um grande conjunto de resultados. Se possível, pesquise pelo menos um atributo indexado e defina as configurações de referências (para obter mais informações, consulte Desempenho e manipulação de grandes conjuntos de resultados) para corresponder aos seus requisitos de pesquisa. Também é sugerido que os resultados de uma pesquisa de subárvore sejam realizados de forma assíncrona e paginados para reduzir a sobrecarga do servidor e a eficácia da rede. Uma pesquisa de subárvore é normalmente usada para pesquisar objetos para um determinado escopo. Por exemplo, pesquise todos os usuários com contas que expirarão em 30 dias ou menos.