如果我在SQL Server 2012中创建一个FileTable,然后将一个4G文件放到NT文件系统(即文件流中),那么将整个4G文件读入该表的文件流列吗?
SQL实际上是否正在制作我的4G文件的副本?或者文件流列是否代表我的4G文件的指针,它开始在查询中读取?
我只想弄清楚我是否将100G数据添加到我的文件系统中,是否会为我的数据库添加100G的数据大小。
有人可以帮忙解释一下这是如何运作的吗?甚至更好地指出一些比MS / MSDN“如何做”更详细的文档?
答案 0 :(得分:1)
使用SQL Server id
功能将文件表流分别存储在单个文件中,而不是在普通的SQL Server数据文件中。这些文件由SQL Server内部管理。
您可以将file_stream列视为与指向该文件的指针类似。但是,文件流仍然是数据库的一部分,并将与数据库的其余部分一起备份。
答案 1 :(得分:0)
不,您的4 Gb文件只会存储一次,作为磁盘上的文件。当然,数据库中会存储一些少量的元数据,但这都是。