DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 926150 - Dernière mise à jour: vendredi 10 novembre 2006 - Version: 1.0

 
Bogue # : 439321 (SQLBUDT)

Sommaire

INTRODUCTION

La mise de base de données en miroir n'est pas gérée pour des transactions cross-database ou des transactions distribuées dans Microsoft SQL Server 2005.

Plus d'informations

Microsoft SQL Server 2005 Service Pack 1 (SP1) a présenté la fonctionnalité database-mirroring. La mise de base de données en miroir n'est pas gérée cependant pour des transactions cross-database ou des transactions distribuées. Ne peuvent pas être garanties dans les scénarios suivants l'atomicité de transaction et l'intégrité de transaction :
  • Cross-database transactions

    Après un basculement, la base de données en miroir est sur une instance de serveur différent. La base de données en miroir se trouve généralement sur une instance de serveur distinct de la base de données non-mirror. Même si deux bases de données sont mises en miroir entre les deux mêmes partenaires, il n'existe aucune garantie que deux bases de données basculeront en même temps.
  • Microsoft Distributed Transaction Coordinator (MS DTC)transactions

    Après un basculement, le serveur principal nouveau ne peut pas se connecter à la MS DTC du serveur principal précédent qui utilise le même ID de ressource. Le serveur principal nouveau ne peut pas par conséquent obtenir l'état de transaction.

Exemple de scénario

Exemple du scénario suivant illustre comment une incohérence logique entre des bases de données peut se produire lorsque vous utilisez la mise de base de données avec des transactions cross-database en miroir. Dans cet exemple, une application utilise une transaction cross-database pour insérer deux lignes de données. Le problème suivant se produit :
  • Une ligne est insérée dans un tableau dans une base de données (base de données A) en miroir.
  • Toute la ligne est insérée dans une table dans une autre base de données (base de données B).
La base de données A est mise en miroir en mode high-safety avec le basculement automatique. Pendant que la transaction est validée, base de données A devient indisponible et la session mettant en miroir bascule automatiquement au miroir de base de données A.

La transaction cross-database peut être validée correctement sur la base de données B - ne pas sur failed - au-dessus de base de données après le basculement. Ce problème peut se produire si le serveur d'origine principal pour la base de données A n'envoie pas le journal des transactions pour la transaction cross-database au serveur miroir avant l'échec. Après le basculement, la transaction n'existe pas sur le serveur principal nouveau. Par conséquent base de données A et base de données B sont incohérents. La donnée qui est insérée dans la base de données B reste intacte. La donnée qui est insérée dans la base de données A est perdue.

Un scénario similaire peut se produire lorsque vous utilisez la mise de base de données en miroir avec les transactions MS DTC. Par exemple le serveur principal nouveau contacte la MS DTC après un basculement. La MS DTC ne possède toutefois aucune connaissance du serveur principal nouveau. Par conséquent la MS DTC interrompt toutes les transactions qui sont dans la phase "preparing à valider" bien que soit pris en compte, les transactions validé dans des bases de données.

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2005 Service Pack 1 sur le système suivant
    • Microsoft SQL Server 2005 Standard Edition
    • Microsoft SQL Server 2005 Enterprise Edition
    • Microsoft SQL Server 2005 Workgroup Edition
Mots-clés : 
kbhowto kbinfo kbexpertiseadvanced KB926150 KbMtfr kbmt
Traduction automatiqueTraduction automatique
TRADUCTION AUTOMATIQUE : Cet article technique a été traduit par un système automatique, c'est-à-dire sans aucune intervention humaine. Microsoft propose ce type d’articles en complément de ceux traduits par des traducteurs professionnels. Ces articles sont destinés principalement aux utilisateurs ne comprenant pas l'anglais en leur proposant, en complément, une version française de l’information technique fournie dans la version américaine et originale de l’article. Pour plus de détails, veuillez consulter la page http://support.microsoft.com/gp/mtdetails. Attention : Il est possible que certaines parties de l’article ne soient pas traduites par le système automatique et qu’elles soient restées rédigées en anglais. Microsoft ne garantit pas la qualité linguistique des traductions et ne peut être tenu responsable d’aucun problème, direct ou indirect, dû à une quelconque erreur de traduction du contenu ou de son utilisation par les utilisateurs.
La version anglaise de cet article est la suivante: 926150  (http://support.microsoft.com/kb/926150/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store