Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何将所有filestream varbinary(max)字段设置为NULL?_Sql Server_Sql Server 2008_Filestream - Fatal编程技术网

Sql server 如何将所有filestream varbinary(max)字段设置为NULL?

Sql server 如何将所有filestream varbinary(max)字段设置为NULL?,sql-server,sql-server-2008,filestream,Sql Server,Sql Server 2008,Filestream,我需要从一个巨大的数据库中创建一个测试数据库,其中大部分数据都包含为filestream数据 我需要测试与文件流无关的数据,所以我想做的是删除varbinary(max)信息 以下是我的文件存储库表中的字段: [ID_FILE] [int] NOT NULL, [FILE_DATA] [varbinary](max) FILESTREAM NULL, [GUID] [uniqueidentifier] ROWGUIDCOL NOT NULL 我想做的是 Update FILE_REPOSI

我需要从一个巨大的数据库中创建一个测试数据库,其中大部分数据都包含为filestream数据

我需要测试与文件流无关的数据,所以我想做的是删除varbinary(max)信息

以下是我的文件存储库表中的字段:

[ID_FILE] [int] NOT NULL,
[FILE_DATA] [varbinary](max) FILESTREAM  NULL,
[GUID] [uniqueidentifier] ROWGUIDCOL  NOT NULL
我想做的是

Update FILE_REPOSITORY_TABLE
SET FILE = NULL
我本以为这也会删除文件,但没有发生

我无法删除记录,因为ID_文件具有FK链接。(从包含filestream数据的表中删除记录时,也会删除相关文件)。我也尝试过备份,但是文件太大了,即使表中充满了空值

我该怎么办


最后一点:我的目标是拥有500MB的备份,而不是10GB的备份(我有9.5GB的文档)。这仅用于测试目的。

文件数据通过垃圾收集过程回收,而不是立即删除,因此,您可能需要强制执行检查点。

是的。。。垃圾收集器。。。我尝试了检查点,也尝试了检查点100(强制检查点在100秒内出现)。但是没有运气。垃圾收集器似乎在按自己的步调前进。。。我右键单击FIlestream文件夹并读取文件数(在属性中),每隔几秒钟就会删除几个文档。无论如何,谢谢你的回答,我现在将再次问一个更具体的答案:附加说明:我接受这个答案,因为它帮助我理解了这个问题与垃圾收集器有关。