Un blocage dans une database peut-il affecter d'autres bases de données ou bloquer le server entier?

Cela semble assez étrange, mais il ya des bases de données d'un groupe que nous avons dans un server, nous pouvons le dire par la sortie sur le journal, mais cela semble affecter d'autres bases de données, puisque les systèmes se bloquent quand le blocage se produit .

Nous avons identifié les objects impliqués dans l'événement de blocage, mais aucun ne réside dans les bases de données du système que nous utilisons.

J'ai encore besoin de regarder les organes de procédure, mais est-ce possible? process d'autres bases de données entrant dans l'impasse et accroché l'set du server ou d'autres bases de données?

Un blocage n'est pas un événement fatal dans MS SQL Server (contrairement, par exemple, dans le code). Ceci est dû au fait que Sql Server search périodiquement les interblocages, puis sélectionne l'un des process à tuer. C'est quand vous obtenez les messages de journal.

En l'absence d'un bug Sql Server (que je n'ai jamais rencontré), je pense qu'il est plus probable que l'ordre soit inversé – le server / database bloqué empêche l'exécution normale des requêtes, entraînant des blocages car les procédures prennent plus de time à s'exécuter.

J'ai vu cela se produire lorsque deux process qui se trouvent dans une impasse ont également des objects bloqués dans TempDB.

Les objects verrouillés dans tempdb empêchent alors les autres process de créer des objects et donc de se bloquer.

Cela a été un problème sur les anciennes versions de SQL Server (2000), mais je ne me souviens pas l'avoir vu sur une version plus récente.

c'est possible. Si votre server ne peut pas réagir à une interruption, il ne peut pas exécuter d'autres requêtes (correctement).