如何获得公司ID明智的备份或恢复数据

时间:2014-09-20 03:29:11

标签: sql-server database-backups

我有一个迷你帐户软件。在这个软件中,我可以存储多个公司数据。数据存储在SQL Server 2008 R2数据库中。

在当前数据库中,我有一个用户表,用于存储所有用户名,一个公司主表用于存储公司详细信息,如名称,地址,会话等,用户ID为FK和用户表。接下来是与公司Master连接的tran表,并且存储凭证详细信息和其他表链接到账单,支付等tran tabel。

该应用程序适用于小型公司和专业人士。维护他们的客户数据。在这种情况下,所有数据都是独立的,相互独立的。如果是小公司,他们会在一个应用程序中维护所有子公司的帐户相关数据。有一段时间,他们收到或发送任何一家子公司的数据给该公司或任何政府机构或审计公司。像手机联系人,我可以发送所有联系人或任何选定的联系人。

用户过去选择他/她公司的第一家公司Master,然后根据所选公司ID添加/编辑参考数据或查看报告。

现在我的问题是某些客户端的数据量变得非常高,因为50到60家公司的数据存储在一个数据库中,以及我如何获得公司ID明智的备份或恢复数据。 sql server的文件组可以帮忙解决这个问题吗?我不知道文件组。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

不要仅仅因为需要通过CompanyId过滤数据而将SQL数据库拆分为多个SQL数据库(不创建更多文件组等)。每当您的客户需要创建新公司时,您的应用程序就必须为其创建一个新数据库。这也会使应用程序更新变得非常复杂。

如果您没有遇到任何严重的性能问题 - 例如使用SQL Express并且您的客户端数据库是9 GB(Express的最大数据库大小是10 GB) - 为1个客户端留下1个数据库。

确保所有相关表格都被CompanyID列编入索引。然后,您可以提供从应用程序中按CompanyID导出数据的方法 - 自定义报告,导出到csv文件,Excel等。

数据库备份文件通常不用于将数据传递给其他应用程序。它的目标是确保灾难恢复 - 当磁盘发生故障等时,您的客户端将能够轻松恢复。相反,当他有50个数据库文件而不是1个时,他将很难正确地恢复所有这些数据库。