2010-08-27 131 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