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.