Man mano che le applicazioni interne si evolvono nel corso degli anni, a volte scopri che ci sono un certo numero di tabelle che le persone credono non siano più pertinenti e che vogliono abbattere. Quali sono i metodi pratici per identificare le dipendenze del database, sia all'interno dell'ambiente SQL, sia in seguito in cose come SSIS?
Ho lavorato in luoghi in cui sono state scelte opzioni piuttosto brutali come:
- Rilascia prima, fai domande in seguito (può uccidere una build del data warehouse se tenta di estrarre una tabella che non esiste più)
- Rimuovere prima le autorizzazioni e attendere la segnalazione degli errori (può causare bug silenziosi, se l'errore non viene gestito correttamente)
Apprezzo che SQL Server sia dotato di strumenti per tenere traccia delle dipendenze all'interno di tale istanza, ma queste sembrano avere difficoltà se si dispone di database in istanze diverse. Esistono opzioni che semplificano l'interrogazione delle dipendenze, magari rispondendo a domande come "Dove viene utilizzata questa colonna?" con risposte come "Over su questo altro server in questa procedura memorizzata" o "Over in questo pacchetto SSIS"?