2009-01-03 6 views
5

¿Cómo puede encontrar las dependencias de una tabla en las bases de datos?Para encontrar la dependencia de los objetos en varias bases de datos?

Normalmente, sp_depends proporcionará información para todos los objetos dependientes en un objeto particular, o mediante una herramienta GUI puede verlo de una manera más estructurada. Ahora las dependencias que se muestran con estos métodos están limitadas a una única base de datos, ¿y si tenemos dependientes en otras bases de datos?

¿Hay alguna consulta para hacerlo?

+0

¿Cómo se crean las dependencias entre bases de datos? –

Respuesta

0

Dejaré la tarea de encontrar dependencias cross db para que otra persona escriba sobre ella ya que estoy a punto de salir corriendo esta mañana, pero quería dejar una nota rápida en sp_depends. Está roto, no lo use. Es notoriamente poco confiable. Según Microsoft "Use sys.dm_sql_referencing_entities y sys.dm_sql_referenced_entities en su lugar" está a punto de desaparecer. Aquí está por qué sp_depends está roto, se basa en el orden de creación. Supongamos que tiene dos procedimientos almacenados, ProcA y ProcB. ProcB depende de ProcA. Si crea ProcA THEN cree ProcB sp_depends informará la dependencia, pero debido al soporte para el enlace tardío, si crea ProcB, ENTONCES cree ProcA sp_depends NO informará la dependencia.

Por lo que vale, hay algunas herramientas que he utilizado que hacen un gran trabajo al informar las dependencias correctamente, pero mi favorito hasta ahora, y que se ocupará de las dependencias cross db si tiene acceso a él es Visual Studio para Profesionales de bases de datos. Es bastante caro, pero si tiene acceso a él tiene una excelente herramienta de dependencias y admite refactorización ligera, digamos que cambia el nombre de una columna, puede encontrar todas las vistas y procedimientos, incluso en múltiples dbs y actualizar el nombre de columna para usted tus dependencias.

Para una alternativa de interfaz gráfica de usuario de db barata, ApexSql es una buena herramienta. En el lado libre, puede encontrar o crear un procedimiento almacenado para hacer la verificación de la dependencia por usted, pero no tengo ningún enlace para ayudarlo con eso en este momento.

+0

Eso apenas se rompe. Usted está diciendo que si las dependencias no existen cuando se crea, sp_depends no informa sobre ello. Es de utilidad limitada, seguro, pero apenas "roto". – Brody

1

AFAIK, SQL Server no puede hacer esto de la caja.

Lo más probable es que necesite un programa de terceros como Red-Gate SQL Dependency Tracker que se supone que debe hacer esto.

Cuestiones relacionadas