2010-08-27 130 views
0

建议使用两个版本的SQL Server(2005和2008)来存储应用程序的数据。我们有一种情况,即现有的Web应用程序使用SQL Server 2005作为数据库。应用程序中的某些增强功能要求我们解决FILESTREAM数据存储。现在我们有SQL Server 2005中的数据和SQL Server 2008中的关联FILESTREAM数据。对于SQL Server来说,我非常新,我想确定它在性能方面有多糟糕?我们如何在两个数据库版本之间实现原子性,是通过使用链接服务器还是其他机制?任何替代解决方案就可以了,只是我们不能迁移现有的应用程序到SQL Server 2008SQL Server 2005和2008联合

+0

凭据如果你不能将应用程序迁移到SQL Server 2008,这将是迁移数据库的选项到SQL Server 2005呢? – Timwi 2010-08-27 10:36:15

+1

@Timwi - SQL Server 2005不支持'FILESTREAM'。 – 2010-08-27 10:53:30

回答

0

为了让您的交易ACID,你可以在存储过程级别使用distributed transactions,或者使用DTC代码级别(例如,通过一个.net TransactionScope)。如果您从那里执行ACID,那么DTC将需要同时存在于SQL Server和App Server上。有一些开销DTC

编辑:您还需要将服务器与sp_addlinkedserver链接并提供与sp_addlinkedsrvlogin

+0

是否有必要链接使用.NET事务范围的服务器? – Msdnexpert 2010-08-27 11:12:02

+0

嗨MSDN专家 - 不,使用DTC和TransactionScope跨2台服务器,您不需要链接服务器 - DTC将独立协调2个连接 - 而具有SQL BEGIN DISTRIBUTED TRANSACTION的解决方案需要链接服务器。对此没有更明确的道歉。 – StuartLC 2010-08-28 10:19:01