Как я могу найти таблицу в SQL Server 2016

#sql #database #sql-server-2016

#sql #База данных #sql-server-2016

Вопрос:

Как я могу найти таблицу в SQL Server 2016?

Я мог бы использовать это, чтобы найти таблицу в текущей базе данных:

 SELECT *
FROM sys.Tables
WHERE name LIKE '%App_Current_Seq_Num%'
  

Проблема в том, что у меня есть несколько баз данных на сервере.

Комментарии:

1. просто EXISTS dbo.Product

Ответ №1:

Пожалуйста, попробуйте выполнить приведенный ниже sql-запрос.

 select * from [YourDatabaseName].INFORMATION_SCHEMA.TABLES where TABLE_NAME LIKE '%App_Current_Seq_Num%'
  

Ответ №2:

sp_tables , sys.tables , information_schema.tables предоставит вам только список таблиц из текущей выбранной базы данных. Используйте приведенную ниже недокументированную хранимую процедуру для запуска этого кода для каждой базы данных, при этом в каждом результирующем наборе отображается список таблиц, принадлежащих ей.

  sp_MSforeachdb 'SELECT "?" AS DB, * FROM [?].sys.tables WHERE name like ''%App_Current_Seq_Num%'''
  

Другой вариант — использовать динамический SQL .

Ответ №3:

Вы можете либо сделать

 use your_database_name

SELECT *
FROM sys.Tables
WHERE name LIKE '%App_Current_Seq_Num%'
  

или

  SELECT *
 FROM your_database_name.sys.Tables
 WHERE name LIKE '%App_Current_Seq_Num%'
  

или, если вы хотите выполнить поиск по нескольким базам данных одновременно, используйте union all предложение.
Что-то вроде этого:

 SELECT * FROM database1.sys.Tables
UNION ALL
SELECT * FROM database2.sys.Tables
  

Ответ №4:

Я использовал это, и это сработало отлично:

ИСПОЛЬЗУЙТЕ Master GO EXEC sp_MSforeachdb @command1=’использовать?; ВЫБЕРИТЕ * ИЗ sys.tables, ГДЕ имя ТИПА «%App_Current_Seq_Num%»‘

Ответ №5:

вы можете использовать SQL Search

это простой элемент управления поиском, который вы можете использовать в sql server

чтобы найти таблицы / представления / хранимые процедуры и т. Д…

используйте быструю бесплатную загрузку с

https://www.red-gate.com/products/sql-development/sql-search/index