Réplication de base de données.2 serveurs, base de données principale et le 2ème est en lecture seule

StackOverflow https://stackoverflow.com/questions/12946

  •  08-06-2019
  •  | 
  •  

Question

Supposons que vous ayez 2 serveurs de base de données, une base de données est la base de données « principale » où toutes les opérations d'écriture sont effectuées, elle est traitée comme la base de données « réelle/originale ».La base de données de l'autre serveur doit être une copie miroir de la base de données maître (esclave ?), qui sera utilisée pour les opérations en lecture seule pour une certaine partie de l'application.

Comment procéder pour configurer une base de données esclave qui reflète les données de la base de données maître ?D'après ce que j'ai compris, la base de données esclave/lecture seule doit utiliser le fichier journal des transactions de la base de données principale pour refléter les données, n'est-ce pas ?
Quelles options ai-je en termes de fréquence à laquelle la base de données esclave met en miroir les données ?(temps réel/toutes les x minutes ?).

Était-ce utile?

La solution

Ce que vous voulez s'appelle la réplication transactionnelle dans SQL Server 2005.Il répliquera les changements presque en temps réel à mesure que l'éditeur (c'est-à-direLa base de données "master") est mise à jour.

Voici une assez bonne présentation de la façon de le configurer.

Autres conseils

SQL Server 2008 propose trois modes de réplication différents.

  • Transactionnel pour une réplication unidirectionnelle en lecture seule
  • Fusionner pour une réplication bidirectionnelle
  • Instantané

D'après ce que j'ai compris, la base de données esclave/lecture seule doit utiliser le fichier journal des transactions de la base de données principale pour refléter les données, n'est-ce pas ?Quelles options ai-je en termes de fréquence à laquelle la base de données esclave met en miroir les données ?(temps réel/toutes les x minutes ?).

On dirait que vous parlez d'envoi de journaux au lieu de réplication.Pour ce que tu prévois de faire, je serais d'accord avec Jeremy McCollum et dites faire une réplication transactionnelle.Si vous envisagez d'envoyer des journaux lorsque la base de données est restaurée toutes les x minutes, la base de données ne sera pas disponible.

Voici un bon aperçu de la différence entre les deux.C'est triste à dire que vous devez créer un compte pour le lire.=/ http://www.sqlservercentral.com/articles/Replication/logshippingvsreplication/1399/

La réponse à cette question varie en fonction du serveur de base de données que vous utilisez pour ce faire.

Modifier:Désolé, je dois peut-être apprendre à regarder les balises et pas seulement la question - je peux voir que vous avez marqué ceci comme sqlserver.

La réplication transactionnelle est en temps réel.

Si vous n'avez aucune mise à jour à effectuer sur votre base de données, ce dont vous avez besoin est simplement de récupérer les données, disons une fois par jour :utilisez ensuite la réplication d'instantanés au lieu de la réplication transactionnelle.Dans la réplication d'instantanés, les modifications seront répliquées au moment et comme défini par l'utilisateur, par exemple une fois toutes les 24 heures.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top