2010-08-27 7 views
0

Est-il recommandé d'utiliser deux versions de SQL Server (2005 et 2008) pour stocker les données d'une application. Nous avons une situation où nous avons une application Web existante qui utilise SQL Server 2005 comme base de données. Certaines améliorations de l'application nous ont obligés à résoudre un magasin de données FILESTREAM. Maintenant, nous avons nos données dans SQL Server 2005 et les données FILESTREAM associées dans SQL Server 2008. Étant très nouveau pour SQL Server, je voudrais vérifier à quel point cela est mauvais en termes de performance? Comment pouvons-nous atteindre l'atomicité à travers les deux versions de la base de données, est-ce via un serveur lié ou un autre mécanisme? Toutes les solutions alternatives seraient bien sauf que nous ne pouvons tout simplement pas migrer l'application existante vers SQL Server 2008.SQL Server 2005 et 2008 conjointement

+0

Si vous ne pouvez pas migrer l'application vers SQL Server 2008, serait-il une possibilité de migrer la base de données à SQL Server 2005 à la place? – Timwi

+1

@Timwi - SQL Server 2005 ne prend pas en charge 'FILESTREAM'. –

Répondre

0

Pour conserver vos transactions ACID, vous pouvez utiliser distributed transactions à un niveau de procédure stockée, ou à partir d'un niveau de code utilisant DTC (par exemple via un .net TransactionScope). DTC doit être présent sur les deux serveurs SQL et sur votre serveur d'applications si vous utilisez l'ACID à partir de là. Il y a certains frais généraux avec DTC

Edit: Vous aurez aussi besoin de relier les serveurs avec sp_addlinkedserver et fournir des informations avec sp_addlinkedsrvlogin

+0

Est-il nécessaire de lier les serveurs pour utiliser la portée .NET Transaction? – Msdnexpert

+0

Salut MSDN Expert - Non, avec DTC et TransactionScope sur les 2 serveurs, vous n'auriez pas besoin de relier les serveurs - DTC coordonnera les 2 connexions indépendamment - alors qu'une solution avec SQL BEGIN DISTRIBUTED TRANSACTION nécessiterait les serveurs liés. Toutes mes excuses pour ne pas être plus clair à ce sujet. – StuartLC

Questions connexes