Come altri hanno già detto, SQL 2008 viene fornito con un tipo Filestream che consente di archiviare un nome file o identificatore come puntatore nel db e memorizza automaticamente l'immagine sul proprio filesystem, il che è un ottimo scenario.
Se si trova in un database più vecchio, direi che se lo si archivia come dati BLOB, in realtà non si otterrà nulla dal database nel modo di cercare funzionalità, quindi probabilmente è meglio per memorizzare un indirizzo su un filesystem e memorizzare l'immagine in quel modo.
In questo modo risparmi anche spazio sul tuo filesystem, poiché risparmierai solo l'esatta quantità di spazio, o anche lo spazio compattato sul filesystem.
Inoltre, potresti decidere di salvare con qualche struttura o elementi che ti consentono di sfogliare le immagini grezze nel tuo filesystem senza alcun db hit o di trasferire i file in blocco su un altro sistema, disco rigido, S3 o un altro scenario - aggiornando la posizione in il tuo programma, ma mantieni la struttura, ancora una volta senza molto successo, cercando di estrarre le immagini dal tuo db quando provi ad aumentare la memoria.
Probabilmente, ti permetterebbe anche di gettare alcuni elementi della cache, basati sugli URL delle immagini comunemente colpiti nel tuo motore / programma web, quindi ti stai salvando anche lì.