Buscar una tabla o vista por nombre

Señal o problema observado

Conocemos una palabra del nombre —por ejemplo, “Pedido”— pero no sabemos si el objeto es una tabla, una vista ni en qué esquema se encuentra. Abrir carpeta por carpeta funciona en una base pequeña; en una base heredada pronto deja de ser una búsqueda confiable.

Qué necesitamos distinguir

El esquema es el espacio de nombres que agrupa objetos dentro de una base, como dbo o ventas. Un patrón es una forma de búsqueda que puede incluir caracteres comodín.

Primero queremos ubicar objetos cuyo nombre coincida con un patrón. También conviene distinguir tablas de vistas y conservar el esquema, porque dbo.Pedido y ventas.Pedido son objetos diferentes.

Consulta

DECLARE @Patron SYSNAME = N'%Pedido%';

SELECT
    s.name AS Esquema,
    o.name AS Objeto,
    o.type_desc AS Tipo,
    o.create_date AS FechaCreacion,
    o.modify_date AS FechaModificacion
FROM sys.objects AS o
INNER JOIN sys.schemas AS s
    ON s.schema_id = o.schema_id
WHERE o.type IN ('U', 'V')
  AND o.is_ms_shipped = 0
  AND o.name LIKE @Patron
ORDER BY
    o.type_desc,
    s.name,
    o.name;

U representa una tabla definida por el usuario y V, una vista. El filtro is_ms_shipped = 0 evita incluir objetos marcados como creados por componentes internos de SQL Server.

Parámetros o permisos

Las vistas de catálogo exponen metadatos: datos que describen la estructura de otros objetos.

Cambia @Patron. Los signos % permiten que exista texto antes o después: N'%Pedido%' encuentra Pedido, PedidoDetalle y HistoricoPedidos. Para buscar el comienzo del nombre utiliza N'Pedido%'; para una coincidencia exacta, N'Pedido' y el operador =.

La consulta trabaja en la base de datos activa. Si existen varias bases, hay que ejecutarla en cada una o preparar una búsqueda controlada entre bases. Las vistas de catálogo solo muestran metadatos de objetos sobre los que la cuenta tiene visibilidad.

Cómo leer el resultado

Cada fila identifica un objeto visible. Lee siempre Esquema y Objeto como una unidad. Tipo confirma si estás frente a una tabla o una vista.

FechaModificacion sirve como pista, no como historial de cambios. En tablas y vistas también puede cambiar cuando se crea o modifica un índice; por sí sola no demuestra que haya cambiado la lógica o la estructura que estás investigando.

Si conoces el nombre completo, puedes confirmar su identidad sin depender de una coincidencia parcial:

SELECT OBJECT_ID(N'dbo.Pedido', N'U') AS IdTabla;

Un valor distinto de NULL confirma que existe una tabla visible con ese nombre de dos partes en la base actual.

Qué conclusión sí permite obtener

Permite afirmar qué tablas y vistas visibles de la base actual coinciden con el patrón, junto con su esquema y tipo.

Qué conclusión todavía no permite obtener

Un resultado vacío no demuestra que el objeto no exista en otra base, bajo otro nombre o fuera de tus permisos. Tampoco incluye sinónimos, tablas externas ni objetos cuya relación con “Pedido” solo aparezca en una columna o en su código.

Siguiente comprobación razonable

Cuando encuentres candidatos, busca sus columnas. Si el nombre aparece dentro de procedimientos, vistas o funciones, localiza el texto dentro de los objetos SQL. Para conocer relaciones registradas, revisa las dependencias y las llaves foráneas.

Índice del recorrido

Desarrollo y exploración

22 artículos de Desarrollo y exploración
  1. 01Buscar una tabla o vista por nombre
  2. 02Buscar una columna en toda la base
  3. 03Buscar texto dentro de procedimientos, vistas y funciones
  4. 04Consultar dependencias de un objeto
  5. 05Listar relaciones y llaves foráneas
  6. 06Consultar llaves primarias, restricciones únicas e índices
  7. 07Listar columnas con tipo, longitud, nulabilidad y valor predeterminado
  8. 08Encontrar triggers y sus tablas asociadas
  9. 09Encontrar objetos modificados recientemente
  10. 10Obtener conteos aproximados de todas las tablas
  11. 11Medir el espacio utilizado por cada tabla
  12. 12Revisar columnas IDENTITY y su valor actual
  13. 13Detectar registros duplicados por una clave de negocio
  14. 14Detectar registros huérfanos
  15. 15Comparar dos conjuntos de datos
  16. 16Validar conversiones antes de modificar una columna
  17. 17Ejecutar un UPDATE con validación y reversión controlada
  18. 18Ejecutar un DELETE con respaldo lógico y reversión controlada
  19. 19Comparar la estructura de dos bases de datos
  20. 20Describir el resultado de una consulta o procedimiento
  21. 21Encontrar tablas sin llave primaria
  22. 22Buscar un valor en columnas seleccionadas