Ho modificato una tabella centrale nel mio database e sp_depends restituisce letteralmente centinaia di risultati e sono preoccupato che alcune di quelle stored procedure potrebbero non essere più compilate dopo la mia modifica.
Controllare una singola procedura memorizzata è semplice (ho appena rieseguito lo script alter e ho verificato se l'operazione ha esito positivo), ma farlo su oltre 100 procedure è un po 'complicato.
So di poter usare uno script come questo per ricompilare tutti gli oggetti del mio database, ma l'operazione effettiva avrà luogo la prossima volta che la procedura memorizzata verrà eseguita, non immediatamente, quindi non sembra appropriato nel mio caso.
Stavo anche pensando che avrei potuto eliminare del tutto tutte le procedure memorizzate e risincronizzare il mio database con il mio sistema di controllo del codice sorgente, ma quell'opzione, sebbene praticabile, non è molto elegante. C'è un modo migliore per farlo?
Sto usando SQL Server 2008 R2 e gli script del mio database sono archiviati in un progetto di database VS 2008.
Per chiarire, non sto sostenendo che si dovrebbe fare affidamento esclusivamente su questo approccio per testare il codice. Proprio come in c # si rileva istantaneamente un errore di sintassi in altri file dipendenti mentre si codifica (e quindi si utilizzano altre strategie per testare, come i test unitari, che di solito sono diversi ordini di grandezza più lenti), penso che avrebbe senso rilevare le dipendenze SQL errori in pochi secondi anziché dover eseguire un test funzionale completo che in genere può richiedere alcune ore per il completamento.