use*_*964 1 sql-server blob filestream varbinary sql-server-2008
昨天我问了一个关于如何保存文件的问题.经过一些研究后,我决定将文件存储在数据库中.
我已经检查了使用文件流存储文件和将文件存储在数据库本身之间的区别.
每个都有它的优点和缺点.为了帮助我进行研究,这个网站帮助了我很多:http: //www.codeproject.com/KB/database/SqlFileStream.aspx
所以基本上它说如果文件大于1mb,使用文件流保存文件会更好.
但我发现了文件流的另一个问题.如果删除数据库中的记录,则文件系统上仍存在该文件.
所以我需要你们的意见.用什么?文件流或使用VARBINARY保存数据库中的文件?
Grtz,M.
从数据库中删除数据后,很快就会删除文件系统上的数据,尽管这是在一个单独的系统后台线程中完成的,所以它可能会保留在文件系统上,直到垃圾收集器基本上再次运行.但是,通过任何文件流API(即tsql或流)访问的所有结果都将保证不会访问已删除的任何内容,无论文件系统数据是否仍驻留在磁盘上(文件流确保ACID).