2013-02-22 88 views
2

我的问题是关于加快FILESTREAM垃圾收集器的速度后如何加快垃圾收集,细节在this question删除FILESTREAM数据

disuccsed让我解释一下我的情况

  1. 对于调试/测试我经常需要在我的研发机器上复制客户数据库的原因
  2. 由于数据库有时包含太多的文件流blob数据,我更愿意将其删除,因此备份大小从10GB移动到2 MB
  3. 我做Update TABLE set BLOB = NULL
  4. ,等待数小时或数天

因为我只需要大幅和快速去除斑点还能有什么工作?我是否需要定期拨打checkpoint或手动删除文件流文件?

THanks。

更新 只是表达自己更好。这是我做的:

UPDATE TABLE_WITH_BLOBS SET BLOBFIELD = NULL 

,然后我非常想有备份大小为2 MB ...

回答

3

对于“4.等待几小时或几天内”,你等待更新完成或等待垃圾收集发生?

CHECKPOINT可以使用sp_filestream_force_garbage_collection强制垃圾收集器运行。

http://msdn.microsoft.com/en-us/library/gg492195.aspx

+0

谢谢! SP是我需要的。 – LaBracca 2013-02-22 13:42:22

+0

它仅适用于2012年,而不适用于2008R2 – LaBracca 2013-02-22 13:45:54

+0

是否可以将数据库切换到简单恢复模式(如果尚未),并发出检查点以查看是否会提示垃圾回收运行? 请注意,如果您使用FULL恢复模式,则会打破恢复链,如果切换回此模型,则需要新的FULL备份。 – 2013-02-25 15:21:37