none
关于在启用了FileStream的SQL Server 2008数据库中删除记录的问题。 RRS feed

  • 问题

  • 我创建了一个启用了FileStream的数据库,然后在其中建立了一张表(表名ImageTable),表中有一个字段使用FileStream来存放图片数据。
    目前数据的存、取都没有任何问题,但是在删除时遇到了问题,具体描述如下:
    首先,我往这张表中插入2条记录。
    然后,我使用语句
    TRUNCATE TABLE ImageTable;
    CHECKPOINT;
    来清空这张表,成功执行后,我到FileStream的文件夹中查看,与表中2条记录对应的2个图像数据文件都被正常删除了(这正是我想要的效果)。
    但是,我在进行了以下操作后,遇到了问题:
    首先,我还是先向表中插入2条记录
    然后,我对这个数据库做一个备份。
    然后,我还是使用语句
    TRUNCATE TABLE ImageTable;
    CHECKPOINT;
    来清空这张表,成功执行后,我到FileStream的文件夹中查看,
    这时,与表中2条记录对应的2个图像数据文件依然还在,没有被删除。
    请问这到底是怎么回事?
    我仔细观察了一下,当我进行数据库备份动作后,我看到FileStream的文件夹中那个filestream.hdr文件被更新了,我想,SQL Server一定是向这个文件中写入了什么东西,因而导致,我之后所做的所有的清空动作都不起作用了。
    2011年11月26日 7:30

答案