繁体   English   中英

SQL Server 2008 R2 Express还原

[英]SQL Server 2008 R2 Express restore

我正在从事将Visual c#用作前端,将SQL Server 2008 R2 Express用作后端的项目。

现在,我知道SQL Server Express数据库的大小限制为10 GB,因此,当达到选择限制时,我已经编写了用于数据库备份的代码,一旦备份成功,便清空了数据库。

我想知道什么是最好的还原备份文件的方法,这样我当前的应用程序后端(早些时候已清空)就不会受到干扰。

如果我在当前数据库中还原相同的文件,可以吗?在这种情况下,我有一个问题要问,这是否会影响我的应用程序正常工作,因为我的应用程序是实时的并且每隔15分钟运行一次。 间隔将一些值存储在数据库中。

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

每天大约有50 MB的数据插入到数据库中,因此大约需要8个月才能达到选择大小(根据我的粗略计算)。 并且就应用程序的性质而言,用户将不会频繁使用存档数据。 请考虑一下并向我建议方法。

提前致谢..!!

如果将数据输入到全新的数据库服务器中,则旧查询将不适用于新的数据库服务器。 由于SQL Express的限制不是每个数据库,而是每个数据库服务器。 您可以创建一个新的SQL Express服务器,链接您的服务器,并使用链接的服务器创建查询( 如何创建链接的服务器@ 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 Standard版本。

希望我能正确回答您的问题,但请考虑以下建议:
一个数据库(“当前数据库”),用于存储实时数据。

当达到大小时,将其转储(或复制mdf + ldf)以存档。
并与时间戳一起存储(FROM-TO)。

需要数据时,会将相关的mdf作为新的“离线”数据库附加。
(您可以使用连接字符串将MDF文件附加到SQL Server。)
并使用该连接而不是实时连接。

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

看一下: 连接字符串以连接到.MDF,以了解如何将MDF附加到SQL Server实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM