Est-ce que SQL gouverneur de ressources réallouer les ressources lors de l'exécution d'une requête?

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

Question

Dis, j'ai deux utilisateurs (U1, U2) mis en correspondance avec deux pools de ressources (R1, R2) et avec des valeurs maximum de 20% et 80%. U1 exécute une requête chronophage qui fonctionne pour dire 15 minutes. Quand il a commencé l'exécution était le seul processus et par conséquent serveur SQL alloue des ressources complètes à cette question. 5 minutes plus tard, U2 exécute une autre requête. Est-ce que le gouverneur de ressources réduire les ressources de U1 à 20% et permettre à U2 de prendre 80% ou sera attendre U1 pour terminer, puis laisser U2 80%.

Je suis d'accord que le premier cas est ce qui est attendu, mais j'ai vu ce poste obtenu curieux. S'il vous plaît expliquer ce qui se passera dans le scénario réel.

Était-ce utile?

La solution

Le gouverneur de ressources démarre seulement quand il y a la contention des ressources. Si une connexion particulière répond pas d'argument dans sa volonté d'utiliser toutes les ressources sur la boîte, il sera.

Donc, s'il y a un processus qui est en cours d'exécution pour une heure, mais pendant dix minutes, un processus arrive qui veut 80% (et est autorisé à utiliser 80%), le processus original sera réduite de nouveau à 20% pour que dix minutes.

Espérons que cela il efface pour vous.

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