sql server 2008 filestream 的问题

wedding123 2010-01-11 04:04:06
sql server 2008 成功配置了 filestream 文件组,存放一些非结构文件,能正常存取。但有一个问题

删除表中的数据时,对应的filestream 文件组路径下的文件并没有删除,看了帮助,说:
【基础文件是由 FILESTREAM 垃圾回收器删除的。】
但已经两天了,并没有删除,是垃圾回收器未正常工作?
...全文
114 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
happinessdepig 2012-02-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 shiningscsdn 的回复:]

我试过,
Checkpoint
也不管用,为何啊?
[/Quote]

刚试了,数据库日志必须是简单模式,才行
coolchangecool 2011-11-26
  • 打赏
  • 举报
回复
我这几天也正好在用2008的FileStream。
对于你说的删除记录的这个问题,的确是需要加上CHECKPOINT,例如:
TRUNCATE TABLE 表名
CHECKPOINT
或者
DELETE FROM 表名
CHECKPOINT
我试过了,是可以成功删除的。

但是,我发现一个问题(不知道是不是SQL2008的BUG):
当你对数据库做了一次备份动作后,再使用以上的语句删除记录时,FileStream文件夹中与记录对应的文件就无法被正常删除了,这个问题我在网上查了好久都没找到答案,目前正准备到MSDN论坛上发个英文贴直接问SQL的工作人员。

希望我的回答对你有帮助。
shiningscsdn 2010-01-29
  • 打赏
  • 举报
回复
我试过,
Checkpoint
也不管用,为何啊?
duanzhi1984 2010-01-16
  • 打赏
  • 举报
回复
学习
happinessdepig 2010-01-16
  • 打赏
  • 举报
回复
或者说我该怎么 打开或保存 文件流中的文件
happinessdepig 2010-01-16
  • 打赏
  • 举报
回复
我正好看到这方面的资料,后面加 Checkpoint

Delete from YourFileStreamTable
Checkpoint

再问楼主一个问题:
在文件流中,如何上传/下载文件. 本人使用过image字段存储文件.
--小F-- 2010-01-11
  • 打赏
  • 举报
回复
先用
select * from sys.datebase_files where type=2查询出流文件名

然后
alter database 数据库名 remove file 文件名 试试
dawugui 2010-01-11
  • 打赏
  • 举报
回复
2008?没用过,帮顶.
2009年度十大SQL Server技巧文章 在向2009年告别之际,我们来回顾一下过去的一年中最受欢迎的SQL Server技巧,包括了OPENROWSET、FILESTREAM等函数的用法、密码工具介绍以及DBA日常工作建议等内容。 通过对这些精华文章的再次回顾,希望可以帮助您梳理一下这一年以来的工作以及学习心得,对未来一年更进一步打下更坚实的基础。 使用bcp工具导入和导出批量数据 微软SQL Server中的批量复制程序(Bulk Copy Program,BCP)能让数据库管理员将数据批量导入表中或将数据从表中批量导入文档中。它还支持一些定义数据如何导出、导入到什么地方、加载哪些数据等选项。  用bcp工具导入和导出批量数据(上)  用bcp工具导入和导出批量数据(中)  用bcp工具导入和导出批量数据(下) 使用SQL Server的OPENROWSET函数 你可能常常会需要运行一个ad hoc查询从远程OLE DB数据源提取数据,或者批量向SQL Server表导入数据。在这种情况下,你可以在T-SQL(Transact-SQL,微软对SQL的扩展)中用OPENROWSET函数给数据源传入一个连接串和查询来提取需要的数据。  使用SQL Server的OPENROWSET函数(上)  使用SQL Server的OPENROWSET函数(下) SQL Server密码破解工具简介 在对SQL Server系统执行入侵测试或者更高级别的安全审计时,有一种测试不应该被忽略,那就是SQL Server密码测试。这一点看起来显而易见,但是很多人都会忽略它。  SQL Server密码破解工具简介 使用XML在SQL Server上创建计算列 在SQL Server数据库中,当你想使用一个数据,而这个数据不保存在表中,计算列很有用。在SQL Server中使用XML数据来创建计算列,你的列定义必须包含必要的用来检测向列中插入的是什么数据的表达式。  使用XML在SQL Server上创建计算列(上)  使用XML在SQL Server上创建计算列(下) SQL Server中已满事务日志原因的检测 对于SQL Server数据库管理员来讲,已满事务日志是一个琐碎的,但又很常见的问题。它能引发事务的提前终止,甚至通过阻止所有事务的引入,从而引起系统的崩溃。对于数据库管理员来说,关键是理解将要发生的情况,以便他们可以追踪引起问题的原因。  SQL Server中已满事务日志原因的检测(上)  SQL Server中已满事务日志原因的检测(下) DBA五大浪费时间的工作 DBA以常规方式执行的一些任务,不仅对SQL Server数据库几乎没有益处,而且实际上可能对他们的生产环境造成不利影响。在本文中,我会阐述几类这样的工作。如果你正在执行其中的一些工作,我希望你能尽快停下来。  收缩数据库  碎片整理后重建索引  恢复完整备份  删减事务日志  人工通读错误日志 利用动态管理视图提高SQL Server索引效率 就如同数据库DBA了解的一样,合适的索引能够提高查询性能和应用程序可测量性。但是每个附加的索引,都给系统增加了额外开销,因为随着数据从表和视图中不断增加、修改或清除,SQL Server需要维护这些索引。  利用动态管理视图提高SQL Server索引效率(一)  利用动态管理视图提高SQL Server索引效率(二)  利用动态管理视图提高SQL Server索引效率(三) 在SQL Server tempdb满时检查数据文件 作为一名数据库DBA,肯定会听说过“tempdb数据库满了”。通常我们很容易确定造成这一问题的原因。但是更多的时候这一问题主要源于一组请求,涉及到新代码部署或逐渐增加的数据。  在SQL Server tempdb满时检查数据文件 SQL Server运作的简短课程 在实际执行任务之前,有一点背景信息可以会起到帮助作用。那么,到底SQL Server是如何工作的呢?不管你信不信,理解“黑盒”知识几乎可以在Microsoft SQL Server的所有方面起到帮助作用,例如从备份与存储到复制与镜像。  SQL Server运作的简短课程 实现SQL Server 2008中的文件流功能 SQL Server 2008中最新的文件流功能使得你可以配制一个数据类型为varbinary(max)的列,以便将实际数据存储在文件系统中,而非在数据库中。只要愿意,你仍可以作为一个常规的二进制列来查询此列,即使数据自身存储在外部。  实现SQL Server 2008中的文件流功能(上)  实现SQL Server 2008中的文件流功能(下)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧