我将用 C# 开发一个系统,其中必须扫描和存储文档,我预计 dB 的大小将达到 3-4 TB。
我的问题是可以将它们存储在数据库中还是数据库有限制,或者我是否必须将它们存储在文件夹中?
提前致谢
是的,有一个限制,这取决于您使用的 SQL Server 版本。如果您使用的是 Express:
https://www.gfi.com/support/products/what-are-the-size-limitations-for-sql-express-databases https://www.gfi.com/support/products/what-are-the-size-limitations-for-sql-express-databases
Microsoft SQL Server 2005 Express edition has a database size limit to 4GB
Microsoft SQL Server 2008 Express edition has a database size limit to 4GB
Microsoft SQL Server 2008 R2 Express edition has a database size limit to 10GB
Microsoft SQL Server 2012 Express edition has a database size limit to 10GB
Microsoft SQL Server 2014 Express edition has a database size limit to 10GB
Microsoft SQL Server 2016 Express edition has a database size limit to 10GB
然而其他版本的上限要高得多:
https://blog.sqlauthority.com/2013/07/21/sql-server-what-is-the-maximum-relational-database-size-supported-by-single-instance/ https://blog.sqlauthority.com/2013/07/21/sql-server-what-is-the-maximum-relational-database-size-supported-by-single-instance/
从上面的链接:
SQL Server 2008R2、2012 和 2014 在企业版、BI 版和标准版中的最大容量为 524 PB(PB)。 SQL Server Express 由于其性质而具有 10 GB 的限制。
因此,如果您不使用 Express,则几乎没有真正的限制。
您可以考虑简单地将这些文件存储在某处,并简单地使用 SQL 来指向它们的存储位置以及一些有关文件的元数据。将这些巨大的文件导入到 SQL 中实际上不会给您带来太多好处,并且会使管理数据库变得更加困难(备份、性能等),正如 TomTom 和 dlatikay 指出的那样FILESTREAM
可能是另一种选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)