Se você for um administrador ou desenvolvedor de banco de dados SQL Server, precisará pesquisar com frequência objetos de banco de dados específicos cujos nomes você pode lembrar apenas parcialmente. A abordagem manual para realizar essas operações de pesquisa é demorada, especialmente quando o banco de dados possui um grande número de objetos.
Outro cenário é aquele em que você deseja pesquisar dados específicos em todas as tabelas do banco de dados. Nesse caso, você precisa executar uma instrução SELECT várias vezes com base no número de tabelas ou exibições de banco de dados nas quais deseja pesquisar ou escrever um cursor complexo para fazer um loop e pesquisar em todas as tabelas de banco de dados, o que requer habilidades avançadas de desenvolvimento do SQL Server.
Neste artigo, veremos diferentes maneiras de pesquisar um objeto de banco de dados específico ou dados no SQL Server, passando gradualmente de métodos internos e mergulhando em uma ferramenta de terceiros que torna muito fácil obter o banco de dados solicitado objeto ou dados.
Consultando sys.objects
Sys.objects é uma exibição de gerenciamento dinâmico do sistema SQL Server que pode ser usada para listar todos os objetos definidos em um banco de dados específico.
Por exemplo, para listar todos os objetos de banco de dados que possuem “Emp” em seus nomes, podemos consultar a DMV do sistema sys.objects com base no nome do objeto, como na consulta T-SQL abaixo:
SELECT NAME AS ObjName ,schema_name(schema_id) AS SchemaName ,type AS ObjType ,type_desc AS ObjTypeDesc ,create_date ,modify_date FROM sys.objects WHERE NAME LIKE '%Emp%' ORDER BY ObjName ASC, ObjType ASC
E o resultado retornado do meu banco de testes, com informações completas sobre o nome completo do objeto, tipo, dados de criação e modificação, será o seguinte:
Explorador de Objetos do SQL Server Management Studio
Outro método que pode ser usado para pesquisar um objeto de banco de dados específico em seu banco de dados é o Pesquisador de Objetos do SQL Server Management Studio.
Ao usar o SQL Server Management Studio para conectar e administrar sua instância do SQL Server, você pode abrir o Object Explorer escolhendo a opção Detalhes do Pesquisador de Objetos no menu Exibir ou simplesmente pressionando a tecla F7 , como mostrado abaixo:
Quando o Pesquisador de Objetos é aberto, você pode pesquisar um objeto de banco de dados específico da seguinte maneira:
- navegue até o banco de dados que você deseja pesquisar
- escreva o nome (completo ou parcial) do objeto de banco de dados na Pesquisa caixa de texto
- pressione Enter para iniciar o processo de pesquisa
A lista de todos os objetos de banco de dados que atendem aos seus critérios de pesquisa será exibida conforme mostrado abaixo:
Para ir para a localização de um objeto de banco de dados específico, a partir do resultado de pesquisa do Explorador de Objetos aberto, clique com o botão direito do mouse nesse objeto de banco de dados e escolha a opção Sincronizar opção, como mostrado abaixo:
O ponteiro o levará automaticamente à localização desse objeto, conforme mostrado abaixo:
Filtragem do SQL Server Management Studio
O SQL Server Management Studio nos fornece outra maneira de pesquisar e localizar um objeto de banco de dados específico usando Filtros.
Os objetos de banco de dados podem ser filtrados da seguinte forma:
- navegue até o banco de dados onde os objetos estão localizados
- expandir o nó do banco de dados
- aponte para a pasta na qual o objeto está localizado (como Tabelas, Exibições, Procedimentos Armazenados ou Funções)
- clique com o botão direito do mouse nesse nó e escolha Configurações de filtro sob o Filtro lista de opções, conforme mostrado abaixo:
Na Configuração de filtro aberta janela, escolha os critérios de pesquisa que você usará para identificar o objeto do banco de dados (por exemplo, nome, esquema ou o proprietário desse objeto, o operador que será usado no filtro de pesquisa). Por exemplo, você pode pesquisar um objeto de banco de dados com o nome igual a, contendo ou não o valor fornecido. Após especificar os critérios de filtro, clique em OK para aplicar o filtro:
Depois que o filtro for aplicado, você verá que apenas os objetos de banco de dados que atendem aos critérios de pesquisa do filtro serão listados no nó do tipo de objetos, conforme mostrado abaixo:
Para remover o filtro e visualizar todos os objetos do banco de dados novamente, clique com o botão direito do mouse no nó da lista de objetos do banco de dados relevante, que é a Tabelas nó em nosso exemplo e escolha a opção Remover filtro opção da lista de opções de Filtro, e todos os objetos do banco de dados serão exibidos novamente, conforme mostrado abaixo:
Pesquisa de dados no SQL Server Management Studio
Além de escrever consultas SELECT para pesquisar um valor específico, o SQL Server Management Studio nos oferece outra maneira de pesquisar valores de coluna e modificá-los diretamente no nível de objeto do banco de dados com base nos critérios especificados.
Para pesquisar um valor de dados de uma tabela específica, navegue até essa tabela no SQL Server Management Studio, clique com o botão direito do mouse nessa tabela e selecione Editar as 200 principais linhas opção, como mostrado abaixo:
Na janela aberta, clique no ícone Tabela mostrado abaixo para visualizar a janela de filtragem:
Na janela de filtragem aberta, especifique a condição e a(s) coluna(s) de seu interesse. No exemplo abaixo, listaremos todas as linhas de funcionários com ID maior que 10:
Após configurar o filtro, clique com o botão direito do mouse em qualquer lugar em uma área vazia e escolha a opção Executar SQL opção para aplicar as condições:
As linhas que atenderem às condições aplicadas serão mostradas na grade de resultados, e você poderá realizar atualizações nesses dados, conforme mostrado abaixo:
Procure uma ferramenta de terceiros do SQL Server
Até este ponto, discutimos diferentes métodos de pesquisa de objetos de banco de dados e dados de tabela. Mas esses métodos nos fornecem tipos específicos de informações que não podem ser filtradas, classificadas ou gerenciadas facilmente. É por isso que precisamos procurar ferramentas de terceiros disponíveis no mercado e, esperamos, encontrar uma que forneça todas as funcionalidades de pesquisa discutidas na mesma janela e nos permita gerenciar os resultados com base em nossos requisitos.
Uma das ferramentas de terceiros mais úteis e fáceis de usar que podem ser usadas com facilidade e rapidez para pesquisar qualquer tipo de objetos ou dados de banco de dados é o dbForge Search for SQL Server da Devart.
O dbForge Search for SQL Server é um suplemento gratuito do SQL Server Management Studio que nos fornece a capacidade de localizar qualquer objeto ou dados de banco de dados do SQL Server, sem a necessidade de procurar no SSMS Object Explorer ou recuperar a localização desse objeto. Ele nos permite pesquisar em todos os objetos de banco de dados ou configurar nossos próprios filtros de pesquisa para localizar rapidamente objetos ou dados de banco de dados e navegá-los facilmente no SSMS Object Explorer. Com o dbForge Search for SQL Server, você também pode classificar e filtrar os resultados da pesquisa conforme desejado.
A ferramenta gratuita dbForge Search for SQL Server pode ser baixada na página de download do Devart e facilmente instalado em sua máquina usando um assistente de instalação simples, conforme mostrado abaixo:
O assistente de instalação solicitará primeiro que você especifique a pasta de instalação do dbForge Search for SQL Server:
Em seguida, ele permitirá que você escolha a versão do SQL Server Management Studio instalada em sua máquina:
E, por fim, você pode escolher qual otimização de inicialização será aplicada à ferramenta para melhorar seu desempenho, conforme mostrado abaixo:
Quando a instalação do dbForge Search for SQL Server for iniciada, você poderá monitorar o processo de instalação através da barra de progresso da instalação:
Após concluir o processo de instalação do suplemento dbForge Search for SQL Server, o assistente de instalação nos notificará que o suplemento foi instalado com sucesso para a versão do SSMS selecionada e está pronto para ser usado:
Para começar a usar a ferramenta dbForge Search, abra o SQL Server Management Studio. Você encontrará o ícone exclusivo da ferramenta de pesquisa, conforme mostrado abaixo:
Clique na Pesquisa do dbForge ícone e uma nova janela será aberta, oferecendo a opção de pesquisar objetos de banco de dados e dados de tabela:
Pesquisa de objetos de banco de dados
Suponha que precisamos procurar todos os objetos de banco de dados contendo “emp” em seus nomes no banco de dados AdevtureWorks2016.
Clique no DDL botão à esquerda para escolher o Pesquisar objetos de banco de dados opção, escreva a frase de pesquisa na caixa de pesquisa e selecione a instância do SQL Server que contém esse banco de dados e o nome do(s) banco(s) de dados para realizar a pesquisa:
Depois disso, selecione o tipo de objeto(s) de banco de dados que você deseja pesquisar em Tipos de objeto lista suspensa:
E, por fim, especifique o tipo de pesquisa que você realizará. Você pode pesquisar objetos de banco de dados com o caso de palavra fornecido exato, os objetos que correspondem a toda a palavra fornecida ou usar curingas (por exemplo, '%') para retornar objetos com nomes contendo a frase fornecida:
Depois de clicar no botão de pesquisa próximo ao texto fornecido, você verá os resultados exibidos em duas seções. A primeira seção contém detalhes completos sobre todos os objetos de banco de dados que atendem aos critérios de pesquisa fornecidos. Na segunda seção, você encontrará a instrução T-SQL usada para criar o objeto de banco de dados selecionado:
Além da capacidade de classificar o resultado retornado com base em qualquer coluna, a ferramenta dbForge Search nos oferece a capacidade de agrupar o resultado da pesquisa pelo tipo do objeto. Para agrupar o resultado da pesquisa por cada objeto do banco de dados, clique no ícone Agrupamento, como você pode ver abaixo:
O resultado da pesquisa será agrupado por tipos de objetos de banco de dados, o que facilita a localização e o gerenciamento dos objetos de seu interesse:
Depois de selecionar o objeto de banco de dados necessário nos resultados da pesquisa, você pode localizar facilmente esse objeto no SSMS Object Explorer clicando com o botão direito do mouse e selecionando Localizar no Pesquisador de objetos opção:
Pesquisa de dados
A ferramenta dbForge Search também nos permite pesquisar um texto específico ou valor numérico nas tabelas ou visualizações do banco de dados. Para alterar o modo de pesquisa de pesquisa de objeto de banco de dados para pesquisa de dados, clique no botão Dados botão de pesquisa no lado esquerdo da janela, selecione a instância do SQL Server em que seu banco de dados está hospedado e o(s) banco(s) de dados, Tabelas e Exibições para pesquisar os dados. Depois de especificar os critérios e filtros de pesquisa de dados, escreva o valor dos dados que você irá pesquisar e clique no ícone de pesquisa próximo ao texto fornecido, conforme mostrado abaixo:
Novamente, o resultado será exibido em duas seções. A primeira seção exibe informações completas sobre o local do valor retornado e a segunda seção exibe a linha completa que contém esse valor:
A partir dos exemplos anteriores, podemos ver claramente como a ferramenta dbForge Search é fácil e rápida em pesquisar e localizar qualquer objeto ou dado do banco de dados, levando em consideração que o processo de pesquisa será mais rápido quando fornecermos critérios de pesquisa precisos e restritos. Experimente você mesmo!