Comment optimiser Office Access et Jet de base de données engine performance du réseau avec des clients basés sur Windows XP et Windows 2000

Résumé

Lorsque vous exécutez un Microsoft Jet de base de données basée sur le moteur programme, comme Microsoft Office Access sur votre ordinateur Microsoft Windows 2000 ou Microsoft Windows XP, le programme peut sembler plus lent et moins sensible que prévu. Cet article contient des informations sur la façon dont vous pouvez optimiser les performances de réseau pour les ordinateurs basés sur Windows XP et Windows 2000. Cette opération peut rendre plus réactif programmes de base de données basée sur le moteur Office Access et Jet.

INTRODUCTION

Une fois que vous mettez à niveau votre ordinateur à partir d’un système d’exploitation Microsoft Windows NT 4.0 à un système d’exploitation Windows 2000 ou un système d’exploitation Windows XP Professionnel, vous pouvez rencontrer une baisse des performances de Office Access ou des applications de basé sur le moteur de base de données Jet. Par exemple, vous pouvez rencontrer les problèmes suivants :
  • Un fichier .mdb prend plus de temps que prévu.
  • Les requêtes Access sont plus longues que prévu.
  • Ouverture d’un formulaire qui est basé sur une table liée dans Access prend plus de temps que prévu.
  • Les opérations d’accès, telles que Insert, prennent plus de temps que prévu.
  • Le processus d’accéder aux ressources réseau prend plus de temps que prévu.

Plus d'informations

Les performances du réseau des programmes de base de données basés sur le moteur Jet et de l’accès dépendant des critères suivants :
  • Paramètres du système de fichiers du serveur de fichiers où est stockée la base de données back-end de Access.
  • Les méthodes d’optimisation et de la mise en cache du client.
  • Les routines de programme basé sur le moteur de base de données Access ou Jet et les méthodes.

Optimisation du serveur de fichiers

Les méthodes suivantes décrivent comment optimiser les performances du serveur de fichiers qui stocke l’accès ou Jet de base de données basée sur le moteur de base de données.

Utiliser des conventions de nom de fichier 8.3

Access appelle la fonction GetShortPathNameW du réseau sur chaque requête Ajout si le nom du fichier de base de données est supérieur à huit caractères ou si la base de données se trouve dans un nom de dossier qui comporte plu de huit caractères.

Ce problème se produit avec les noms de fichiers, et spécifient des noms de dossiers qui sont plus longues que les limites de convention d’affectation de noms de fichiers le 8.3. Les noms de fichier et de dossier longs peuvent augmenter le temps nécessaire pour être terminé de la requête. Si le nom de votre fichier de base de données ou du dossier dans lequel se trouve votre base de données est plu de huit caractères, renommez le nom de fichier ou le nom du dossier. Les noms de fichier et de dossier doivent pas comporter plus de huit caractères, et l’extension de nom de fichier doit pas comporter plue de trois caractères. Voici un exemple d’un chemin d’accès de la base de données qui inclut un court, les noms de fichiers et de dossiers au format 8.3 de convention :
\Folder_1\Folder_2\AccessDb.mdb
Voici un exemple d’un chemin d’accès de la base de données qui utilise des noms de fichier et de dossier longs :
\FolderForFirstDatabase\FolderForSecondDatabase\ThisIsA_BigDatabase.mdb
Pour plus d’informations sur les noms de fichier longs dans Windows, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

226403 : nom de fichier court (8.3) peut changer lors de la copie

Ou bien, si vous utilisez une base de données séparée, vous pouvez remplacer les noms de fichier et de dossier des liens de la base de données frontale avec la convention 8.3 équivalent. Par exemple, supposons que vous avez le long fichier et dossier nom de base de données chemin d’accès suivant :
\FolderForFirstDatabase\FolderForSecondDatabase\ThisIsA_BigDatabase.mdb
Vous pouvez renommer les liens qui se trouvent dans la base de données frontale pour le fichier court suivant et le nom de dossier équivalent :
\Folder~1\Folder~2\Thisis~1.mdb
L’exemple suivant montre comment créer un lien vers une base de données qui a le chemin d’accès long de la base de données avec la conversion de nom de fichier court :
Function mcrLink()
DoCmd.TransferDatabase acLink, "Microsoft Access", "\\ ServerName\sharename \Folder~1\Folder~2\Thisis~1.mdb", acTable, "tblName1", "tblName1", False

End Function
Pour plus d’informations sur la façon de remplacer les noms de fichier et de dossier des liens de la base de données frontale avec la convention 8.3 équivalent, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

Ralentissement des performances dans Access 891176 ou les programmes basés sur la base de données Jet après la mise à niveau de Windows NT 4.0 vers Windows 2000 ou Windows XP

Microsoft fournit des exemples de programmation à titre d'illustration uniquement, sans garantie expresse ou implicite. Ceci inclut, mais n'est pas limité à, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.

Désactiver le délai de notification de violation partage

Vous pouvez désactiver le délai de notification de violation partage afin d’améliorer les performances du serveur de fichiers. Pour ce faire, procédez comme suit sur le serveur de fichiers qui stocke l’accès ou Jet programme basé sur le moteur de base de données.


Important Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le Registre avant de le modifier. Vous pourriez alors restaurer le Registre si un problème survient. Pour plus d’informations sur la façon de sauvegarder et de restaurer le Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
322756 comment sauvegarder et restaurer le Registre dans Windows
  1. Cliquez sur Démarrer, sur exécuter, tapez regedit, puis cliquez sur OK.
  2. Recherchez la sous-clé de Registre suivante :
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  3. Cliquez sur paramètres, pointez sur Nouveau, cliquez sur Valeur DWORD, tapez SharingViolationDelayet puis appuyez sur entrée.

    Remarque Lorsque vous créez l’entrée de sous-clé de SharingViolationDelay, la valeur par défaut affectée est 0 x 0. C’est ce que nous voulons.

    Si l’entrée de sous-clé SharingViolationDelay existe déjà, cliquez sur l’entrée SharingViolationDelay et cliquez sur Modifier, tapez 0, puis cliquez sur OK.
  4. Cliquez sur paramètres, pointez sur Nouveau, cliquez sur Valeur DWORD, tapez SharingViolationRetries, puis appuyez sur entrée.

    Remarque Lorsque vous créez l’entrée de sous-clé de SharingViolationRetries, la valeur par défaut affectée est 0 x 0. C’est ce que nous voulons.

    Si l’entrée de sous-clé SharingViolationRetries existe déjà, cliquez sur l’entrée SharingViolationRetries et cliquez sur Modifier, tapez 0, puis cliquez sur OK.
  5. Quittez l’Éditeur du Registre.
Pour plus d’informations sur le délai de notification de violation partage, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

150384 l’accès à un fichier partagé est retardée si le fichier est ouvert sur un autre ordinateur

Déplacez le fichier de base de données back-end vers un volume de système de fichiers NTFS

Si l’accès ou Jet programme basé sur le moteur de base de données se trouve sur une table d’allocation des fichiers (FAT)-en fonction du volume, vous pouvez améliorer les performances en déplaçant le fichier de base de données back-end sur un volume NTFS.

Pour plus d’informations sur NTFS, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

Systèmes de fichiers 100108 vue d’ensemble de FAT, HPFS et NTFS

Pour plus d’informations sur le déplacement des fichiers de base de données de moteur de base de données Access ou Jet, recherchez « copier ou déplacer un fichier Microsoft Access » dans l’aide Access.

Désactiver la génération de noms courts automatique des fichiers


Désactiver la génération de nom court automatique des fichiers sur le système de fichiers NTFS. Pour ce faire, procédez comme suit sur le serveur de fichiers qui stocke l’accès ou Jet programme basé sur le moteur de base de données.
Important Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le Registre avant de le modifier. Vous pourriez alors restaurer le Registre si un problème survient. Pour plus d’informations sur la façon de sauvegarder et de restaurer le Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
322756 comment sauvegarder et restaurer le Registre dans Windows
  1. Cliquez sur Démarrer, sur exécuter, tapez regedit, puis cliquez sur OK..
  2. Recherchez la sous-clé de Registre suivante :
    HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\FileSystem
  3. Droit NtfsDisable8dot3NameCreationet cliquez sur Modifier, tapez 1, puis cliquez sur OK.
  4. Quittez la Base de Registre et redémarrez l'ordinateur.
Remarque Après avoir apporté cette modification, les fichiers qui utilisent le format de nom court sera disponibles pour les programmes 32 bits. Toutefois, les fichiers avec des noms de fichiers longs qui sont créés après avoir apporté cette modification ne soient pas disponibles aux programmes 16 bits.



Pour plus d’informations automatique court nom génération de fichiers NTFS, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :

121007 comment désactiver la création de 8.3 noms sur des partitions NTFS

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

210638 comment désactiver la génération de noms courts automatique des fichiers

Si votre fichier de base de données du moteur de base de données Access ou Jet se trouve sur un serveur de fichiers Windows Server 2003, vous pouvez désactiver le lissage de système de fichiers. Alias est une fonctionnalité qui est incluse avec Windows Server 2003. Cette fonctionnalité permet à plusieurs noms de fichiers longs ou plusieurs noms de fichiers courts font référence au même fichier. Désactivation des alias de système de fichiers peut améliorer les performances en augmentant le serveur service de mise en cache qui est disponible sur l’ordinateur Windows Server 2003.



Important Si votre ordinateur Windows Server 2003 utilise fichier alias système, comme le montage ou les points d’analyse, nous ne recommandons pas cette procédure.



Pour désactiver les alias de serveur de fichier, procédez comme suit sur le serveur de fichiers Windows Server 2003 qui stocke l’accès ou Jet base de données.


Important Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le Registre avant de le modifier. Vous pourriez alors restaurer le Registre si un problème survient. Pour plus d’informations sur la façon de sauvegarder et de restaurer le Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
322756 comment sauvegarder et restaurer le Registre dans Windows
  1. Cliquez sur Démarrer, sur exécuter, tapez regedit, puis cliquez sur OK.
  2. Recherchez la sous-clé de Registre suivante :
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  3. Cliquez sur paramètres, pointez sur Nouveau, cliquez sur Valeur DWORD, tapez NoAliasingOnFileSystemet puis appuyez sur ENTRÉE.
  4. Cliquez sur NoAliasingOnFileSystemet cliquez sur Modifier, tapez 1, puis cliquez sur OK.
  5. Quittez la Base de Registre et redémarrez l'ordinateur.

Optimisation du client

Les méthodes suivantes décrivent comment optimiser les performances sur le client qui accède à l’accès ou Jet de base de données basée sur le moteur de base de données.

Activer le cache de nom de fichier avancé

Par défaut, les systèmes d’exploitation basés sur Windows XP et Windows 2000 uniquement mettre en cache des noms de fichiers courts et les noms de dossier courts. Fichier, les noms et les noms de dossier qui respectent la convention 8.3. Vous pouvez activer la mise en cache avancée sur votre ordinateur Windows 2000 ou Windows XP afin qu’il va également mettre en cache les noms de fichier longs et des noms de dossier longs. Cela peut améliorer les performances lorsque vous accédez aux fichiers sur un réseau.



Pour plus d’informations sur l’activation de la mise en cache avancée avec le Service Pack 1 Windows XP et les versions antérieures, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

834350 votre accès aux ressources réseau est plus lent dans Windows XP que dans les versions antérieures de Windows

Pour plus d’informations sur l’activation de la mise en cache avancée sur Windows 2000, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

843418 , que vous constatez une baisse des performances lorsque vous accédez aux ressources réseau ou lorsque vous utilisez Microsoft Access dans Windows 2000

Remarque Windows XP Service Pack 2 et Windows Server 2003 déjà incluent un type de mise en cache avancée. Toutefois, vous devez définir l’entrée de Registre InfoCacheLevel dans la sous-clé de Registre suivante pour une valeur hexadécimale de 0 x 10 pour optimiser les performances :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRxSmb\Parameters

Optimiser les requêtes sur les ordinateurs Windows XP Ajout

Windows XP sur les ordinateurs de vider le cache et l’écriture de la base de données entière vers le serveur de fichiers pour chaque ajout de transactions qui se produit. Vous pouvez optimiser les requêtes Ajout par application d’un correctif et la modification de l’entrée de Registre Windows DisableFlushOnCleanup sur votre ordinateur Windows XP. Pour plus d’informations sur l’optimisation des requêtes sur les ordinateurs Windows XP Ajout, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

825433 des performances médiocres lorsque vous ajoutez des données à une base de données partagée à partir d’un fichier à partir d’un client Windows XP

Optimiser les méthodes et les routines de basé sur le moteur de base de données de base de données Access ou Jet

Les recommandations suivantes peuvent améliorer les performances des routines et des méthodes qui sont utilisées par les programmes de base de données basée sur le moteur Jet ou de l’accès.

  • Utiliser une configuration de base de données fractionnée. Une configuration de base de données fractionnée est également appelé une configuration de serveurs frontaux et principaux de la base de données.

    Pour plus d’informations sur la configuration d’une base de données de division, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

    162522 des problèmes lorsque vous redistribuez une application Access sous la forme d’une application de base de données fractionnée

  • Installez le dernier service pack disponible pour votre système d’exploitation Windows sur les ordinateurs clients et sur l’ordinateur de serveur de fichiers.
  • Installer le Service Pack 8 Jet 4.0 ou une version ultérieure sur l’ordinateur client. Pour plus d’informations sur la façon d’obtenir le dernier service pack pour le moteur de base de données Jet, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

    239114 comment obtenir le dernier service pack pour le moteur de base de données Microsoft Jet 4.0

  • Configurez tous les ordinateurs frontaux de base de données pour maintenir une connexion ouverte pour les fichiers de base de données back-end. Pour ce faire, créez une table dans le fichier de base de données back-end qui contient un champ de texte et d’un enregistrement. Par exemple, créer une table qui possède la configuration suivante :
    Nom de la table : tblConnect


    Nom du champ : champ1


    Type de données : texte

    Premier enregistrement : « Connexion »





    Lier cette table à votre base de données frontale, puis créez un formulaire qui est basé sur la table. Ouvrez la base de données à l’aide d’un formulaire masqué avec votre routine de démarrage. Votre routine de démarrage peut être placé dans une macro ou dans un formulaire de démarrage, comme dans l’exemple suivant :
    DoCmd.OpenForm " tblConnect",acNormal ,,,,acHidden 


    Vous pouvez également ouvrir un jeu d’enregistrements basé sur cette table. La variable de jeu d’enregistrements doit être déclarée dans une section de déclaration globale d’un module. Il doit également être fermée lorsque vous quittez la base de données frontale.
  • Utiliser des formulaires au lieu de tables lorsque plusieurs utilisateurs se connectent à la base de données pour la saisie de données.

Méthodes conseillées pour optimiser les performances de la base de données

Nous vous recommandons les méthodes conseillées pour l’optimisation des performances du programme basé sur le moteur de base de données Access ou Jet suivantes :
  • Optimiser le code du programme de base de données dans les modules d’accès qui incluent des opérations gourmandes en ressources, telles que des boucles. Pour ce faire, placez le code de la boucle avec des instructions BeginTrans et CommitTrans, comme dans l’exemple suivant :

    BeginTrans  Loop code
    CommitTrans

    Ainsi, le moteur de base de données Jet accumuler plusieurs mises à jour et de les écrire sous la forme d’un seul lot.

    Pour plus d’informations sur la façon d’optimiser le code dans les modules d’accès, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

    208858 ACC2000 : optimisation des performances du client/serveur

  • Par défaut, le verrouillage opportuniste est activé sur les clients Windows. Assurez-vous que le verrouillage opportuniste n'a pas été désactivé sur l’ordinateur client.

    Pour plus d’informations sur la configuration du verrouillage opportuniste dans Windows, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

    296264 configuration du verrouillage opportuniste dans Windows

    Pour plus d’informations sur les performances et le verrouillage opportuniste, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

    303528 comment conserver une base de données Jet 4.0 en parfait état de fonctionnement

  • Se connecter au serveur de fichiers qui stocke l’accès ou Jet de base de données basée sur le moteur de base de données à l’aide d’un lecteur mappé au lieu d’un chemin d’accès UNC.
Pour optimiser les performances de la base de données, envisagez de migrer vos programmes basés sur les moteurs de base de données Access ou Jet vers Microsoft SQL Server. Le modèle client/serveur est plus approprié que le modèle de serveur de fichiers pour les bases de données actives que le service de connexions. À l’aide de SQL Server, vous pouvez considérablement améliorer les performances et augmenter la robustesse.

Références

Pour plus d’informations sur l’accès, Jet des performances réseau et le moteur de base de données, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :

275085 bogue : ralentissement des performances sur des tables liées dans Access 2002 et Office Access 2003

261000 bogue : ralentissement des performances sur des tables liées dans Access 2000

Informations de 209126 sur les performances des requêtes dans une base de données Access

La défragmentation 288631 et base de données compacte pour améliorer les performances

Informations de 209126 sur les performances des requêtes dans une base de données Access

290181 lenteur d’exécution lorsque l’utilisateur ouvre un objet avec la correction automatique de nom activée dans Microsoft Access

240434 comment améliorer les performances des applications à l’aide de Jet 4.0

289533 où trouver des informations sur la conception d’une base de données dans Microsoft Access

Description de 870753 du package de correctifs de post-837001 de moteur de base de données Jet 4.0 : 21 juillet 2004

303528 comment conserver une base de données Jet 4.0 en parfait état de fonctionnement

Optimisation de 208858 de performances client/serveur

239114 comment obtenir le dernier service pack pour le moteur de base de données Microsoft Jet 4.0

Ralentissement des performances dans Access 891176 ou les programmes basés sur la base de données Jet après la mise à niveau de Windows NT 4.0 vers Windows 2000 ou Windows XP

Propriétés

ID d'article : 889588 - Dernière mise à jour : 18 févr. 2017 - Révision : 2

Commentaires