在不同的数据库中存储文件?

时间:2009-04-20 16:35:51

标签: sql sql-server sql-server-2005

将文件存储在不同的SQL Server 2005数据库“FileDb”中并通过“FileId”指向“AppDb”中的文件(

)是个好主意。

请注意我有一个专用服务器,我可以创建任意数量的Sql数据库。

更新

哪个执行更好的单个数据库或多个数据库?

4 个答案:

答案 0 :(得分:3)

您可以使用filegroups分隔数据文件。您可以创建一个单独的文件组来存储文件数据。

答案 1 :(得分:2)

我更喜欢有一个存储文件路径+文件名的列 我从不喜欢将它存储在数据库中的想法,原因如下:

膨胀数据库......备份和恢复需要更长的时间

图像和文本数据类型是一个痛苦的工作

在SQL Server 2008中,您可以使用FILESTREAM,它仍然是事务性的,但将其存储为文件

答案 2 :(得分:1)

另一种方法是使用表分区将文件表放在不同的磁盘分区上,甚至出于性能原因服务器,但仍然将表放在一个数据库中。

答案 3 :(得分:0)

如果您希望针对不同的数据集采用不同的备份策略,这将非常有用。

比如说,你只需要每周备份文件/电子邮件/附件,而App数据需要每天备份。

这使您可以轻松完成。

我强烈建议将您认为具有不同持久策略的任何内容放在不同的数据库中。