Séparez SQL Server ou séparez simplement SQL Database pour les tests et la production?

12

Je suis nouveau sur SQL Server, donc cela peut être plus une question de gestion de SQL Server.

Je crée des bases de données de test et de production pour un service, et j'imagine que j'effacerai beaucoup la base de données de test. De plus, je vais vouloir différentes stratégies de réplication et de journalisation d'audit.

Est-il sensé d'avoir les deux bases de données SQL sur le même serveur SQL, ce qui semble être ce que le portail Azure rend plus facile à gérer, ou est-il plus logique de créer un serveur SQL logique distinct pour les bases de données de test et de production?

Anonyme1
la source
1
Salut. Bienvenue sur le site. J'ai fait des modifications mineures pour plus de clarté. N'hésitez pas à revenir en arrière si cela n'est pas approprié :)
Dawny33

Réponses:

6

Allez avec un serveur logique distinct:

  • Cela coûtera le même prix car vous êtes facturé au niveau de la base de données et non au serveur de base de données.
  • En fournissant des serveurs séparés, vous offrez une isolation entre les deux bases de données en vous protégeant l'une de l'autre.
  • À moins que vous n'utilisiez des utilisateurs confinés, vos utilisateurs seront partagés entre Test et Production, si vous utilisez le même utilisateur pour les deux bases de données, un changement de mot de passe en production nécessiterait également le même changement dans Test.

Vous souhaiterez peut-être utiliser le même serveur pour une base de données si:

  • Vous créez un très grand nombre de bases de données dans de nombreux environnements de développement / test car le nombre total de serveurs SQL est limité.
  • Vous avez deux bases de données qui doivent être déployées dans le cadre du même modèle ARM.
Richard Slater
la source
J'ajouterais un point: avoir des serveurs séparés permet de mettre à niveau le serveur Q / A et de s'adapter avant de mettre à niveau celui de la production.
Tensibai du
5

Les mettre tous les deux sur le même serveur est certainement le plus simple. Cependant, je dirais que dans une situation commerciale, vous ne devriez pas être en mesure de le faire.

Une base de données de production est l'une des ressources les plus importantes d'une application Web. Il contient probablement beaucoup de données confidentielles. C'est aussi probablement essentiel à la stabilité du site. Les informations d'identification de la base de données de production doivent donc être étroitement contrôlées et les règles de pare-feu doivent empêcher d'y accéder, sauf à partir d'un petit nombre de machines contrôlées. En plus des considérations de sécurité, les règles de pare-feu aident également à empêcher les opérations de test accidentelles sur la base de données de production - si cela peut se produire, ce sera tôt ou tard.

Edit: Peu de temps après avoir écrit cette réponse à l'origine, Digital Ocean (l'un des plus grands fournisseurs d'hébergement) a connu une panne qui aurait été évitée s'ils avaient segmenté leur réseau de manière appropriée. Apprenez leur leçon au lieu de répéter l'erreur.

Boycott SE pour Monica Cellio
la source