有一个实验室项目。多年来为研究保存实验室数据(原始数据和相关信息)的要求。因此数据必须保存多年,但数据太大,每个原始数据都超过10 GB 。如果我们将原始数据存储在SQL Server的文件表中并将相关信息存储在普通的SQL Server表中,经过数月或数年后,数据库的大小就会大于我们必须将一些历史数据移出数据库。
也许我们可以使用文件流(存储原始数据)将文件(在不同的硬盘中)添加到文件流文件组中,但我觉得这不适合维护SQL Server。我们必须保持原始数据和关系信息的一致性。
事实上,我们已考虑使用磁带来保存历史原始数据。我们希望使用硬盘来保存最新的原始数据,并使用磁带来保存历史原始数据。当我们将历史数据移动到磁带时,我们将移动日志记录在一个表中,这样我们就可以知道历史数据的移动位置,并尽快获取它。
对我有好的建议:
答案 0 :(得分:1)
没有一个简单的答案。 即使微软也不会回答你一个简单的答案,请看这里: http://msdn.microsoft.com/en-us/library/hh403405.aspx
我无法回复文件表。记住你需要sql 2012。
根据我的经验(作为DBA):
- 存储文件系统更好的性能和成本:您可以轻松地使用不同的存储类型,不同的机器
- 存储在文件系统上更适合备份:你可以进行重复数据删除,管理更好的压缩等等。
真正的缺点是,如果您存储在文件系统中,则会丢失事务性。
我有类似的情况,文件高达一些GB:
我使用相关表来指定一些元数据以及文件所在的位置。