Comment puis-je créer une copie en temps réel de ma base de données SQL Server 2005?
-
25-09-2019 - |
Question
J'ai une application Web qui est utilisée sur plusieurs continents. La transaction sous-jacente DB est de verrouillage lorsque des rapports volumineux sont exécutés. Je veux:
- faire un temps réel de la base de données SQL Server 2005 à un rapport DB
- directe tous les rapports aux rapports DB
En théorie, cela empêchera la transaction de verrouillage pour les insertions et mises à jour. Il est OK si les rapports DB est verrouillé temporairement aussi longtemps que les opérations se poursuivent. Les rapports DB peut recevoir les nouvelles transactions lorsqu'il est sous une charge plus légère. Quelle est la meilleure façon de conserver une copie en temps réel proche de la transaction DB? Dois-je utiliser la réplication, la mise en miroir ou une combinaison des deux? Quelles sont les directives générales que je devrais suivre?
Merci!
La solution
Utilisez Sql réplication de serveur pour mettre en œuvre ce type d'architecture. Par exemple. répliquer les données de votre serveur principal db au serveur de rapports. Il est pas tout à fait en temps réel (quelques systèmes sont), mais peut être très proche.
Il y a plusieurs saveurs avec la réplication SQL Server et vous voudrez probablement serveur-à-serveur. voir aussi cet article sur l'entreposage de données et des rapports . Il décrit le scénario exact que vous êtes contre et vos objectifs:
Par la conception, la réplication transactionnelle répond aux exigences principales pour ce scénario:
- cohérence transactionnelles
- Faible latence
- High Throughput
- surcharge minimale
Autres conseils
= Mirroring toute DB, la réplication est un sous-ensemble habituellement en fonction de ce que vous "publier"
- Mirroring est plus facile à mettre en place, mais vous devez alors instantanés pour permettre des rapports .
- Livres sur l'exemple de ligne est basée sur la réplication
Dans ce cas, j'utiliser la réplication si vous avez besoin en temps quasi réel. Je considère que la mise en miroir si les rapports pourrait lag quelques minutes ou des rapports doit être « statique » pendant une période de temps.