FILESTREAM
o VARBINARY(MAX)
, ma dovresti considerare i pro ei contro di farlo rispetto alla memorizzazione dei file sul file system e solo un puntatore al file nel database.
Pro per la memorizzazione dei file nel database:
- coerenza transazionale
- sicurezza (supponendo che tu ne abbia bisogno e che il tuo database non sia comunque completamente aperto)
Contro:
- File di database molto più grandi + backup (che possono essere costosi se stai ospitando nello spazio di archiviazione di qualcun altro)
- Molto più difficile da eseguire il debug (non puoi dire "SELECT doc FROM table" in Management Studio e visualizzare Word)
- più difficile presentare i documenti agli utenti (e consentirne il caricamento) - invece di presentare semplicemente un collegamento a un file nel file system, è necessario creare un'app che prenda il file e lo memorizzi nel database, e estrae il file dal database per presentarlo all'utente.
In SQL Server 2012, FileTable offrirà un ibrido più utilizzabile.