El tipo de datos filestream en SQL Server 2008
¿Quien no se ha pegado con la necesidad de relacionar información almacenada en ficheros con los registros en una base de datos?. Soluciones inicialmente sencillas como almacenar la ruta UNC del archivo y luego acceder a esos archivos desde la aplicación, pueden ser inicialmente útiles, pero con el tiempo los problemas relacionados con la gestión de los ficheros, la “integridad referencial” y sobre todo, la seguridad acaban por suponer un problema.Almacenar los ficheros en la propia base de datos, tiene también sus problemas, engorda las BD, tiene limitaciones de tamaño y aporta un grado mas de complejidad al acceso a los ficheros desde fuera de la aplicación.SQL Server 2008 aporta una solución muy buena; almacenar los ficheros en el sistema de ficheros, que es donde tienen que estar, pero con una relación definida en SQL Server a través de un nuevo tipo denominado “filestream”, SQL gestionara también la seguridad de tal forma que es posible que solo la cuenta del servicio de SQL Server tenga acceso a los ficheros y que los usuarios accedan a los mismos con las restricciones de seguridad que tengan en la BD, es compatible con el uso de clusters y los backups de SQL Server.El T-SQL se ha enriquecido con instrucciones para el manejo de este nuevo tipo. En definitiva una solución nueva y completa a un viejo problema.Tenéis mas información en un estupendo articulo en ingles sobre el tema:
http://blogs.msdn.com/manisblog/archive/2007/10/21/filestream-data-type-sql-server-2008.aspx