|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 17 ![]() |
Bonjour à tous,
Je travail actuellement sur un Mirroring SQL en mode High Protection (Synchronisé, sans témoin), cela fonctionne parfaitement. Cependant il me semble que lors d'une sauvegarde SQL les fichiers transaction log sont supprimés cela risque d'impacter ma synchronisation (sachant que la send queue est stockée dedans) ? Pouvez-vous m'indiquer quel est la stratégie de sauvegarde à appliquer dans ce type de configuration ? Merci d'avance |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Aucune importance. Le mirroring n'ayant rien à voir avec le log shipping puisque les transactions sont capturée en mémoire et non dans le JT. Mais en cas de désynchronisation, le JT fera rétention jusqu'à un nouveau point de synchro.
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 17 ![]() |
Merci pour ta réponse,
Pour être plus claire je vais décrire le contexte de mon test. Mon serveur principale et mirror sont synchronisés. 1 - Je coupe le serveur mirror 2 - Je modifie une data sur le serveur 3 - Je fais un backup de mon Transaction Log 4 - Je relance mon serveur mirror Résultat : Ma donnée n'est pas répliqué sur le serveur mirror |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 724 ![]() |
Dans une session en mirroring si vous coupez votre session en miroir la sauvegarde du log ne videra pas le journal. Le seul moyen est de casser la session. Une fois votre session restaurée les transactions accumulés depuis la coupure dans le journal seront joués sur le miroir.
Si vous n'avez pas votre donnée vérifiez que l'état de votre session qui doit être SYNCHRONIZED. ++ |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 17 ![]() |
Je confirme que ma session est bien synchronisé, j'ai un petit point d'exclamation à côté de la donnée modifié il affiche le message suivant :
"The cell has changed. The change has not been commited to the database The original data is toto" |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 724 ![]() |
On peut savoir comme vous lisez vos données depuis votre miroir ?
++ |
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 17 ![]() |
Je lance une bascule sur le serveur Mirror.
|
|
|
00
|
|
|
#8 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 724 ![]() |
Et en effectuant votre requête directement depuis une fenêtre de requête ?
++ |
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 17 ![]() |
J'utilise SQL Management Studio > Clique-droit sur ma table > Edit Top 200 Rows
Voilà merci |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 724 ![]() |
Oui mais que donne son équivalent sous forme de requête dans une fenêtre de requête dans SQL Server Management Studio ?
++ |
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 17 ![]() |
La même chose la même ligne est différente sur les 2 bases
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 17 ![]() |
Je me pause aussi la question suivante :
Dans le cas ou un backup de mon Transaction Log est réalisé juste après une écriture ? On se retrouve dans le même schéma mon écriture n'est pas répliquer sur le serveur mirror ? Merci d'avance |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 17 ![]() |
Pour infos :
Je viens de refaire le test et cette fois la ligne est similaire sur le principale et le mirror mais la donnée que j'ai modifiée auparavant n'a pas été prise en compte. Par conséquent j'ai une perte à ce moment là... |
|
|
00
|
|
|
#14 | |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 159 ![]() |
Citation:
Par contre la modification n'a pas ete faite dans la base de donnees. Ce qui veut aussi dire pas envoyee du cote du mirroir. Dans cette situation, vous n'avez pas modifie de donnee, ce qui est visible sur votre mirroir en tant que "ancienne donnee", vu que c'est aussi votre cas de l'autre cote. |
|
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 17 ![]() |
Donc si j'ai bien compris :
- Une fois le serveur Mirror déconnecté les écritures réalisées sur la database en tout cas via la GUI ne sont pas écrite sur la base ? - Dans tout les cas les écritures réalisées durant cette période ne seront pas enregistrées. ? |
|
|
00
|
|
|
#16 | |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 724 ![]() |
Quand le miroir est déconnecté il n'y a effectivement pas de transaction rejoué sur celui-ci. Cependant celles-ci sont enregistrés dans le journal des transactions sur le serveur principal.
Ce qui est étonnant ce qu'une fois votre session miroir restituée (enfin je suppose) les transactions ne sont pas rejoués sur le miroir. Si je reprends votre procédure de test : Citation:
++ |
|
|
00
|
|
|
#17 | |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 159 ![]() |
Citation:
Si vous entendez en pause, vos écritures dans la database seront répliquées au moment ou vous sortirez le mirroir de la pause. Par contre, quand vous entendez les écritures réalisées sur la base via le GUI ne sont pas écrites, c'est faux, elles peuvent l'être. Il faut par contre qu'elles le soient vraiment. Dans votre cas, je prendrais l'image suivante: - Prenez un fichier texte que vous ouvrez avec notepad - Editez le (changement du fichier au niveau du GUI) - Quittez sans sauvegarder (ne pas commiter les données) Même résultat que changer des données dans le GUI de SQL Server et ne pas les commiter. Donc pas de réplication sur le mirroir car rien à été changé. Ce serait pareil avec un DFS pour le fichier. |
|
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 17 ![]() |
Bonjour,
Eh bien je fais des test depuis ce matin je n'arrive pas à reproduire le même problème que j'ai rencontré hier. Le problème viendrait plutôt de GUI ma requête n'a pas du être commité comme vous me l'avez suggéré... Merci pour votre aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com