Qu'est-ce qui est partagé entre deux instances sur le même serveur?

15

Nous voulons installer plusieurs instances de SQL Server sur un seul serveur Windows. Nous ne pouvons pas utiliser de machines virtuelles car le serveur est Windows Metal R2 R2 sans système d'exploitation.

Pour des raisons de sécurité, nous devons nous assurer que les deux instances ne partagent rien, y compris la gestion, les services Windows, les comptes, etc. Je suppose donc que la question est:

Lors de l'installation de plusieurs "instances" de SQL Server sur un serveur Windows, qu'est-ce qui est partagé?

Bob
la source
Emm ... Pourquoi le serveur étant bare metal Windows 2008 R2 vous empêcherait-il d'utiliser des machines virtuelles? Il a HyperV.
sharptooth

Réponses:

18

Les instances SQL Server ont des ensembles de fichiers binaires distincts pour chaque installation. Pour le moteur de base, vous disposerez de services SQL Server et d'agent SQL distincts qui peuvent s'exécuter sous des comptes distincts. Ils ont chacun leurs propres configurations et utilisateurs. Cela est également vrai pour d'autres composants tels que Analysis Services et Reporting Services si vous les installez.

Il existe des composants partagés, notamment Management Studio, Integration Services et le service SQL Browser. Vous pouvez trouver une liste complète des composants partagés ici .

Remarque, vous aurez plusieurs considérations à faire lors de la maintenance de différentes instances:

  • Cohérence de la version SQL (chaque instance peut être d'une version SQL différente)
  • Paramètres de mémoire - Chaque instance conservera un pool de mémoire distinct des autres instances. Vous souhaiterez planifier vos paramètres de mémoire maximale pour chaque instance afin que les différentes instances ne soient pas en concurrence les unes avec les autres.
  • Contention possible du processeur - Toutes les instances utiliseront les mêmes cœurs de processeur. Vous pouvez gérer le masque d'affinité du processeur si vous souhaitez réserver des threads pour différentes instances, mais je n'en ai pas eu grand besoin.

Dans l'ensemble, vous devez garder à l'esprit que toutes vos instances seront en concurrence pour des ressources sur le même serveur, équilibrez donc ces ressources en conséquence.

Mike Fal
la source
4

Presque rien ne sera partagé.

Du point de vue des services SQL Server réels, rien n'est partagé. Chaque instance obtient ses propres services et chacun a ses propres copies des fichiers EXE réels.

Une seule copie des outils de gestion est installée et des éléments tels que les pilotes sont partagés.

mrdenny
la source
0

Peut-être que l'utilisation de différents utilisateurs Windows pour démarrer différentes instances SQL comme une autre couche de sécurité peut être une bonne idée. Vous pouvez également placer des fichiers MDF dans des répertoires séparés avec différents utilisateurs Windows pouvant accéder au répertoire. Et démarrez différentes instances nommées avec différents utilisateurs qui peuvent accéder aux MDF requis.

user2629395
la source