Actuellement, une base de données active continue d'utiliser plus de mémoire jusqu'à environ 5,8 Go, puis commence à générer des erreurs de dépassement de délai de connexion fréquentes. Je comprends que SQL Server est conçu pour utiliser autant de mémoire que possible, mais il ne devrait pas être jeter ces erreurs. En particulier, quelque chose semble fonctionner, ce qui entraîne une croissance de la mémoire d'environ 2 Go très rapidement. La base de données a de nombreux index et procédures stockées, comment puis-je déterminer lequel est responsable?Dépannage des problèmes de mémoire de SQL Server
Répondre
Le serveur SQL est conçu pour développer et consommer toute la mémoire du système. Par conséquent, il fera exactement cela, allouer de la mémoire pour le cache de plan de requête et les tables et les index. Il est supposé libérer la mémoire quand le système l'exige mais selon mon expérience, le système commencera à utiliser plus de mémoire en utilisant le système de pagination et les choses ralentiront beaucoup avant que le serveur sql ne libère la mémoire qu'il contient.
Si vos données ne sont pas aussi volumineuses que la mémoire qu'elles semblent manger et que vous n'avez pas trop de connexions, alors elles doivent allouer de la mémoire aux nombreuses caches qu'elles utilisent.
Vous pouvez trouver cela à partir de compteurs de gestionnaire de mémoire perfmon serveur SQL pour déterminer quel composant du serveur sql occupe la majeure partie de la mémoire.
j'ai rencontré juste cela et here are the details of how i solved the issue (link) - une combinaison de limites de mémoire supérieure (sp_configure « max server memory ») + assurant que le cache de plan de requête ne pousse pas trop grand
Il ne sera pas la mémoire en tant que tel: SQL Server est conçu pour utiliser
Vous avez probablement une longue opération en cours d'exécution, ou quelque chose d'autre comme le téléchargement, qui bloque d'autres processus.
Exécuter ce pour voir ce qui se passe
SELECT
p1.SPID AS blockedSPID, p2.SPID AS blockingSPID, ...
FROM
master..sysprocesses p1
JOIN
master..sysprocesses p2 ON p1.blocked = p2.spid
Et quand vous dites « croît de 2 Go ». Avez-vous un fichier MDF ou LDF?
- LDF = longue transaction course ou ouverte
- MDF = beaucoup de données générées/téléchargées (j'ai vu un déclencheur d'audit rogue)
L'augmentation de 2 Go de mémoire sera données dans le cache le plus probable
- 1. Dépannage de SQL Server Timeout
- 2. Dépannage Grailles/Fuites de mémoire Groovy?
- 3. Problèmes de connexion SQL Server
- 4. Problèmes de réplication de fusion SQL Server
- 5. SQL Server mémoire insuffisante
- 6. Allocation de mémoire SQL Server CLR
- 7. La consommation de mémoire SQL Server 2k5?
- 8. analyser les problèmes de performances SQL Server?
- 9. SQL Server 2008: problèmes de connexion ODBC
- 10. SQL Server « fournisseur de mémoire partagée » Erreur
- 11. SQL Server CE Problèmes de clause Where
- 12. Problèmes d'installation de SQL Server 2008
- 13. Exécution du code managé dans SQL Server 2008 - des problèmes?
- 14. Problèmes de performances et d'utilisation de mémoire élevée SQL Server 2005
- 15. sql server express 2008 problèmes
- 16. Problèmes de mémoire UIWebView
- 17. Problèmes de mémoire CLLocation
- 18. Comment déboguer des problèmes d'allocation de mémoire?
- 19. Pourquoi ai-je des problèmes de mémoire?
- 20. Drawrect provoquant des problèmes de mémoire
- 21. échanger des données SQL Server entre les lignes des problèmes
- 22. problèmes d'allocation de mémoire
- 23. Problèmes de mémoire
- 24. Problèmes de mémoire IPhone
- 25. Problèmes de gestion de mémoire
- 26. Dépannage de Shadowbox
- 27. Mémoire de données de masse avec SQL Server
- 28. SQLite + problèmes de gestion de la mémoire
- 29. Utilisation limitée de la mémoire de sql server 2008 express?
- 30. : dépannage de l'erreur d'authentification
Merci pour la réponse, je vais essayer dès que j'ai une chance. Mais pour répondre rapidement à votre question, je voulais dire que la mémoire augmente de 2 Go (j'ai depuis mis à jour l'OP) – LaserJesus
La DB a juste jeté l'erreur à nouveau: "Timeout a expiré le délai écoulé avant la fin de l'opération ou le serveur ne répond pas". J'ai essayé d'exécuter la requête que vous avez fournie mais elle n'a renvoyé aucune ligne. – LaserJesus