2013-03-08 8 views

risposta

4

Se hai bisogno di trovare oggetti di database (ad esempio tabelle, colonne, trigger) per nome - uno sguardo alla funzione LIBERO Red-Gate chiamato SQL Search che fa questo - si cerca il vostro intero database per ogni tipo di corda (S).

enter image description here

enter image description here

E 'un grande strumento indispensabile per qualsiasi DBA o database di sviluppatore - l'ho già detto che è assolutamente GRATUITO da utilizzare per qualsiasi tipo di utilizzo ??

2

È possibile provare a utilizzare uno strumento come ApexSQL Search. Cerca i nomi degli oggetti ma cerca anche un elenco di oggetti dipendenti anche se le colonne nelle tabelle/viste dipendenti sono denominate in modo diverso.

Un'altra soluzione è utilizzare le viste di sistema e/o le funzioni di sistema per ottenere i dati necessari. Suggerimento è quello di utilizzare sys.foreign_keys, sys.objects, sys.all_columns per ottenere i dati necessari.

2

Quando ho bisogno di analizzare l'impatto dovuto alla modifica dello schema della tabella, utilizzo i seguenti passaggi per l'analisi. Questo potrebbe non essere completo ma utile!

  1. Sp_help [TableName]: questo mi aiuta a trovare tutti i riferimenti di vincoli FOREIGN KEY. Posso anche trovare qualsiasi altra tabella che faccia riferimento a questa tabella come FOREIGN Key.
  2. Sp_depends [TableName]: questo aiuta a trovare procedure, funzioni e viste utilizzando questa tabella.
  3. metodo Brute Force: Io uso diverse tabelle e funzioni di sistema per verificare la presenza di specifica parola chiave in SQL Lavoro, moduli, ecc

FYI: sp_help [TableName] sp_depends [TableName]

select top 10 * from msdb.dbo.sysjobsteps where command like '%%' 

SELECT top 10 Name, OBJECT_DEFINITION(OBJECT_ID) 
FROM sys.procedures 
WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%%' 

SELECT top 10 OBJECT_NAME(object_id), * 
FROM sys.sql_modules 
WHERE definition LIKE '%%' 
+0

sp_xxx sono generalmente deprecati a favore delle funzioni sys.xxx. In questo caso sys.dm_sql_referencing_entities(). Ancora sp_depends mi ha indirizzato nella giusta direzione quindi +1. –

+0

Un'istruzione sql simile che ritengo sia più completa (trigger?) È disponibile all'indirizzo: http://stackoverflow.com/a/30432937/1991614 non so se trova le chiavi per i file – bitcoder

Problemi correlati