FILESTREAM
lub VARBINARY(MAX)
, ale powinieneś wziąć pod uwagę wady i zalety takiego postępowania w porównaniu z przechowywaniem plików w systemie plików i tylko wskaźnikiem do pliku w bazie danych.
Zalety przechowywania plików w bazie danych:
- spójność transakcyjna
- bezpieczeństwo (zakładając, że jest to potrzebne, a Twoja baza danych i tak nie jest szeroko otwarta)
Minusy:
- dużo większe pliki bazy danych + kopie zapasowe (co może być kosztowne, jeśli hostujesz na czyjejś pamięci)
- dużo trudniejsze do debugowania (nie możesz powiedzieć „SELECT doc FROM table” w Management Studio i wyświetlić wyskakujące okienko Worda)
- trudniejsze do zaprezentowania dokumentów użytkownikom (i umożliwienia im przesyłania) - zamiast po prostu prezentować link do pliku w systemie plików, musisz zbudować aplikację, która pobierze plik i zapisze go w bazie danych, oraz ściąga plik z bazy danych, aby przedstawić go użytkownikowi.
W SQL Server 2012 Tabela plików zaoferuje bardziej użyteczną hybrydę.