Eu uso o seguinte para pesquisar strings em meus procedimentos armazenados:
use DBname
SELECT Name
FROM sys.procedures
WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%xxx%'
É fácil alterar o acima para que ele pesquise nomes de tabelas em um banco de dados "DBname" específico?
sql
sql-server
sql-server-2008-r2
porque theq
fonte
fonte
fonte
and is_ms_shipped = 0;
não parece fazer muitoSe você deseja examinar todas as tabelas em todos os bancos de dados do servidor e obter a saída, pode usar o procedimento sp_MSforeachdb não documentado :
fonte
Presumo que você deseja passar o nome do banco de dados como um parâmetro e não apenas executar:
Nesse caso, você poderia usar SQL dinâmico para adicionar o dbname à consulta:
fonte
Você também pode usar o botão Filtrar para filtrar tabelas com uma determinada string. Você pode fazer o mesmo com procedimentos armazenados e visualizações.
fonte
Adicionando à resposta de @ [RichardTheKiwi].
Sempre que procuro uma lista de tabelas, geralmente quero selecionar todas elas ou excluí-las. Abaixo está um script que gera esses scripts para você.
O script de seleção gerado também adiciona uma coluna tableName para que você saiba em qual tabela está olhando:
fonte
você também pode usar o comando show.
fonte
Eu sei que este é um tópico antigo, mas se você preferir uma pesquisa que não diferencia maiúsculas de minúsculas:
fonte
Quero postar uma solução simples para cada esquema que você tem. Se você estiver usando o banco de dados MySQL, você pode simplesmente obter de seu esquema todos os nomes da tabela e adicionar a condição WHERE-LIKE a ela. Você também pode fazer isso com a linha de comando usual da seguinte maneira:
onde
tables_in_<your_shcema_name>
retorna o nome da coluna doSHOW TABLES
comando.fonte