Você pode armazenar os dados em binário e usar a pesquisa de texto completo para interpretar os dados binários e extrair as informações textuais:.doc, .txt, .xls, .ppt, .htm. O texto extraído é indexado e fica disponível para consulta (certifique-se de usar a palavra-chave CONTAINS). Escusado será dizer que a pesquisa de texto completo deve ser ativada. Não tenho certeza de como a adição de um índice de texto completo afetará seu sistema - ou seja, seu tamanho. Você também precisará examinar o plano de execução para garantir que o índice seja usado no momento da consulta.
Para mais informações veja isso:
http://technet.microsoft.com/en- us/library/ms142499(SQL.90).aspx
Prós:A principal vantagem de armazenar dados no banco de dados é que ele torna os dados "autocontidos". Como todos os dados estão contidos no banco de dados, é muito mais fácil fazer backup dos dados, mover os dados de um servidor de banco de dados para outro, replicar o banco de dados e assim por diante.
Além disso, você pode habilitar o controle de versão de arquivos e também facilitar o carregamento de web farms com balanceamento de carga.
Contras:você pode ler aqui:https:/ /dba.stackexchange.com/questions/3924/sql-server-2005-large-binary-storage . Mas isso é algo que você precisa fazer para pesquisar os arquivos com eficiência.
Ou a outra coisa que eu poderia sugerir é provavelmente armazenar palavras-chave no banco de dados e vincular as mesmas ao arquivo no compartilhamento de arquivos.
Aqui está um artigo discutindo abt usando um FileStream e um banco de dados:http://blogs.msdn.com/b/manisblog/archive/2007/10/21/filestream-data-type-sql-server-2008.aspx