2009-06-03 7 views
5

J'ai un fichier DBF sur un partage réseau que j'essaie de sélectionner dans une table SQL Server.La requête du serveur lié SQL Server est à court de mémoire

Cette requête:

SELECT * FROM OPENQUERY(MyLinkedServer, 'SELECT * FROM DP') 

... jette cette erreur:

fournisseur OLE DB "MSDASQL" pour le serveur lié "MyLinkedServer" message renvoyé « [Microsoft] [ODBC de Visual FoxPro Driver] Non assez de mémoire pour la carte de fichier. ".
Msg 7399, niveau 16, état 1, ligne 11 Le fournisseur OLE DB "MSDASQL" pour le serveur lié "MyLinkedServer" a signalé une erreur. Le fournisseur a manqué de mémoire.
Msg 7320, niveau 16, état 2, ligne 11 Impossible d'exécuter la requête "SELECT * FROM DP" par rapport au fournisseur OLE DB "MSDASQL" pour le serveur lié "MyLinkedServer".

J'ai lu à propos de l'utilisation de SYS (3050) pour libérer la mémoire de FoxPro. Je ne peux pas comprendre comment exécuter cela contre le serveur lié cependant.

Répondre

4

Les requêtes de serveur lié utilisent la mémoire d'une zone en dehors du pool de mémoire tampon de SQL Server appelée memToLeave, qui est utilisée pour gérer les threads de connexion et maintenant sql clr entre autres. Sur 32 bits, sa taille est de 384 Mo, ce qui peut être insuffisant pour certains scénarios.

Si vous devez ajuster votre configuration de la mémoire SQL Server et en particulier la zone MemToLeave vous trouverez une explication sur le blog suivant:

SQL Server Memory Configuration, Determining memToLeave Settings

+1

FYI - Ancien lien ne fonctionne plus, ajouté un nouveau. – Mansfield

+0

C'était il y a longtemps. Diriez-vous que ce conseil est toujours pertinent, John? De beaucoup de forums cela semble être un problème récurrent et ressemble encore beaucoup à une fuite de mémoire. À l'heure actuelle, le MemToLeave par défaut est très bien pour les premiers mois d'utilisation, puis soudainement aucun des serveurs Access Access n'a assez de mémoire disponible. Il y a sûrement un moyen de réinitialiser la mémoire et les processus qui en dépendent. – Adamantish

+0

Quel système d'exploitation utilisez-vous? Est-ce 64bit? Quelle version de SQL Server utilisez-vous? –

Questions connexes