2017-06-14 1 views
0

Il y a un problème récurrent dans mon entreprise, où les requêtes resteront pendant la nuit et bloqueront la charge de datamart nocturne. Une revendication courante, lorsque la personne est suivie pour savoir pourquoi une requête SQL a été laissée en exécution pendant la nuit, est qu'une requête Access SQL passthrough a cessé de s'exécuter avant leur départ et qu'Access a été laissé sur rien sans fonctionnement. Ils insistent sur le fait que rien ne courait. Sont-ils confondus/fibbing/inobservant, ou ont-ils besoin de fermer Access pour mettre fin à la connexion?Access SQL Query Passthroughs Left Hanging - "Rien ne fonctionne"

Est-ce une bizarrerie dans Access, ou une requête est-elle suspendue (bien qu'elle ne ressemble pas à une exécution) un scénario impossible?

Répondre

0

Deux raisons possibles:

1) Si un grand jeu d'enregistrements est renvoyé par la requête, Access tenir des registres supplémentaires de chargement pendant un certain temps, pas tous à un, en laissant la table dans un état ASYNC_NETWORK_IO attendre, soit verrouillé .
Voir https://stackoverflow.com/a/35176081/3820271

2) Le ODBC refresh interval - par défaut toutes les 1500 secondes (25 minutes) L'accès sera REQUERY données chargées.

Notez que ce n'est pas spécifique aux requêtes PassThrough, cela s'applique également aux requêtes Access sur les tables ODBC liées.

Alors oui, vous devriez dire aux utilisateurs de fermer l'accès pendant la nuit.