2016-07-31 100 views
2

如果我在SQL Server 2012中创建FileTable,然后将4G文件放到NT文件系统(文件流中),那么整个4G文件会被读入表的文件流列?在sql server中的文件表大小与数据库大小

SQL实际上是在制作我的4G文件的副本吗?或者文件流列表示指向我的4G文件的指针,它开始在查询上读取?

我只是想弄清楚如果我将100G的数据添加到我的文件系统中,是否会将100G的数据大小添加到我的数据库中。

有人可以帮助解释这是如何工作的?甚至更好的指向一些文档比MS/MSDN的'如何做'更详细的东西?

+0

只是我需要了解数据库大小如何在sql server中改变w.r.t Filetable的大小。 我从Filetable路径中删除了100 MB数据,但数据库大小没有变化。它如何工作..请帮助我理解。 提前致谢 –

回答

1

文件表流使用SQL Server FILESTREAM功能单独存储在单个文件中,而不是在普通的SQL Server数据文件中。这些文件由SQL Server在内部管理。

您可以考虑file_stream列,类似于指向该文件的指针。文件流仍然是数据库的一部分,并且将与数据库的其余部分一起备份。

0

不,您的4 Gb文件将只存储一次,作为磁盘上的文件。当然,数据库中会存储少量元数据,但仅此而已。

MDSN link