2013-07-29 216 views
2

我正在使用visual c#作为前端和SQL Server 2008 R2 Express作为后端的项目。SQL Server 2008 R2快速恢复

现在我知道,SQL Server Express数据库的大小限制为10 GB的,所以我写了数据库备份的代码被挑达到极限时,我清空一次数据库备份是成功的。

我想知道会是怎样恢复的备份文件,使我的电流应用的后端(我刚才清空)不应该打扰最好的办法。

它是好,如果我恢复我的当前数据库中的相同,在这种情况下,我有问题要问会不会影响我的应用程序的工作,我的应用程序是怎么样的实时性和每15分钟之后。间隔在数据库中存储一些值。

是否需要编写其他实用程序来查看旧数据。?

每天大约50 MB的数据插入到数据库中,因此将需要8个月左右到达挑大小(根据我的粗略计算)。并且就应用程序的性质而言,用户不会经常使用存档数据。请考虑这一点,并建议我的方法。

在此先感谢.. !!

回答

0

希望我已经得到了你的问题,但考虑以下建议工作:
一个数据库(“当前数据库”),存储实时数据。

当涉及到一个大小,它被转储(或复制mdf + ldf)归档。
并存储时间戳(从 - 到)。

当需要数据时,相关的mdf作为新的“离线”数据库附加。
(你可以使用一个连接字符串MDF文件附加到SQL服务器。)
,并使用该连接,而不是活的。

应用程序可以在联机数据库上顺利运行。
在阅读,加载等...
是从临时附加和分离的数据库文件完成的。

看看:Connection String to Connect to .MDF 了解如何将MDF附加到SQL Server实例。

+0

感谢您的回复。你确实得到了我的问题,你的建议也是相关的,实际上我也在考虑做这样的事情..但是因为我是新手,我需要做更多的家庭作业来实现这个..如果你能提供给我,我将非常感激像代码的东西.. –

+0

我想问的另一件事,因为我们知道SQL Express 2008服务器的数据库大小限制为10GB所以,这不是possbile恢复数据库+ currentDB将超过10 GB ..?你对此的反馈对我来说真的很有帮助。 –

+0

1,我认为限制是每个数据库,而不是每个实例。 第二,你可以有两个SQL Server Express实例以及:) –

0

如果您在一个全新的数据库服务器中输入数据,旧的查询将无法在新的数据库上工作。由于SQL Express限制不是每个数据库,而是每个数据库服务器。 您可以创建一个新的SQL Express服务器,链接服务器和一个链接服务器(How to create a linked server @ msdn

您需要调整您的查询创建一个查询。

如果你现在查询您的数据是这样的:

SELECT em.Name, em.Telefone FROM employees AS em 

您需要参考数据库了。

SELECT [server1\db1].dbo.em.Name, [server1\db1].dbo.em.Telefone FROM [server1\db1].dbo.employees AS em 

为当前的数据库,并

SELECT [server2\backup].dbo.em.Name, [server2\backup].dbo.em.Telefone FROM [server2\backup].dbo.em.Name 

很可能是这样,但我不会建议它。如果您已经超过10GB数据,那么您可能会有大表。链接服务器上的每个表都完全复制到您的服务器,并可能导致严重的网络流量,并需要相当长的时间才能执行。

我会想到获得SQL标准版。

+0

感谢您的及时回复。 每天大约50MB的数据被插入到数据库中,所以大概需要8个月左右的时间才能达到截图大小。 并且就应用程序的性质而言,用户不会经常使用归档数据。请考虑这一点,并建议我的做法.. –

相关问题