C'è un modo per trovare tutti i riferimenti a una colonna di tabella in un database di SQL Server 2008? Ho bisogno di sapere quali altre tabelle o stored procedure o viste dalla quale fa riferimento la colonna.Trova tutti i riferimenti a una colonna di tabella in SQL Server 2008
risposta
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).
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 ??
È 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.
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!
- 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.
- Sp_depends [TableName]: questo aiuta a trovare procedure, funzioni e viste utilizzando questa tabella.
- 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 '%%'
- 1. Modifica nome colonna in SQL Server 2008
- 2. Creazione di una colonna calcolata in SQL Server 2008
- 3. Trova tutti i riferimenti a un oggetto in pitone
- 4. VisualVM - Trova tutti i riferimenti a una classe
- 5. pydev: trova tutti i riferimenti a una funzione
- 6. Visualizza dati di una tabella in SQL Server 2008
- 7. Trova tutti i riferimenti di una DLL in un progetto
- 8. Trova tutti i riferimenti alla vista
- 9. Trova tutti i riferimenti a un oggetto in Lua
- 10. Come posso visualizzare una tabella interna in SQL Server 2008?
- 11. SQL Server 2008 separatore di migliaia per una colonna
- 12. Aggiungi colonna Identity per una vista in SQL Server 2008
- 13. Mantieni precedenti risultati "trova tutti i riferimenti"
- 14. SQL Server 2008 - HashBytes calcolati colonna
- 15. SQL Server 2008: vincoli tabella Get
- 16. nolock su una tabella temporanea in SQL Server 2008
- 17. ordinamento albero con altra colonna in SQL Server 2008
- 18. Trova una tabella su più database SQL SERVER 2005
- 19. Trova record duplicati in una tabella utilizzando SQL Server
- 20. Trova tabella bloccata in SQL Server
- 21. SQL Server 2008 Spatial: trova un punto nel poligono
- 22. Unisci due tabelle in SQL Server 2008
- 23. SQL Server: creazione di una tabella temporanea con colonna dinamica
- 24. Oracle tutti i riferimenti alle chiavi esterne
- 25. Creazione variabile di tabella in SQL server 2008 R2
- 26. Come aggiungere un commento a una colonna di tabella esistente in SQL Server?
- 27. Conversione da virgola mobile a decimale in SQL Server 2008
- 28. Come si aggiunge una colonna a una tabella in SQL Server che non consente valori null?
- 29. Downgrade di SQL Server 2008 a SQL Server 2005
- 30. Aggiungere una colonna di zeri al server sql tabella
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. –
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