sql >> Base de Datos >  >> RDS >> Sqlserver

OBJECT_ID del objeto en otra base de datos:¿cómo encontrar el ID de la base de datos o el nombre/nombre de objeto completo?

Debería poder hacer esto:

SELECT
   name
FROM
    AnotherDB.sys.objects   --changes context
WHERE
    object_id = OBJECT_ID('AnotherDB.ASchema.ATable')

Esto es lo que hace efectivamente con OBJECT_ID('AnotherDB.ASchema.ATable')

Esto significa que puede confiar en dbname.sys.objects y evitar confusiones con las funciones de metadatos.

Nota:las nuevas vistas de catálogo están diseñados para ser utilizados y no cambiar de una versión a otra, según el enlace. En los viejos tiempos, se consideraba una mala práctica usar tablas del sistema, pero el estigma aún persiste. Por lo tanto, puede confiar con seguridad en sys.objects en lugar de las funciones de metadatos.