FILESTREAM
ou VARBINARY(MAX)
, mas você deve considerar os prós e os contras de fazer isso versus armazenar os arquivos no sistema de arquivos e apenas um ponteiro para o arquivo no banco de dados. Prós para armazenar arquivos no banco de dados:
- consistência transacional
- segurança (supondo que você precise e que seu banco de dados não esteja totalmente aberto)
Contras:
- arquivos de banco de dados muito maiores + backups (o que pode ser caro se você estiver hospedando no armazenamento de outra pessoa)
- muito mais difícil de depurar (você não pode dizer "SELECT doc FROM table" no Management Studio e abrir o Word)
- mais difícil apresentar os documentos aos usuários (e permitir que eles façam upload) - em vez de apenas apresentar um link para um arquivo no sistema de arquivos, você deve criar um aplicativo que pegue o arquivo e o armazene no banco de dados e puxa o arquivo do banco de dados para apresentá-lo ao usuário.
No SQL Server 2012, FileTable oferecerá um híbrido mais utilizável.