SQL Server requête de Serveur Lié à cours de mémoire
J'ai un DBF fichier sur un partage réseau que je suis en train de sélectionner dans une table SQL Server.
Cette requête:
SELECT * FROM OPENQUERY(MyLinkedServer, 'SELECT * FROM DP')
... met cette erreur:
Fournisseur OLE DB "MSDASQL" du serveur lié "MyLinkedServer" a retourné le message "[Microsoft][Pilote ODBC Visual FoxPro]Pas assez de mémoire pour le fichier de la carte.".
Msg 7399, Niveau 16, État 1, Ligne 11
Le fournisseur OLE DB "MSDASQL" du 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" sur le fournisseur OLE DB provider "MSDASQL" du serveur lié "MyLinkedServer".
J'ai lu sur l'utilisation de SYS(3050) pour libérer de FoxPro mémoire. Je ne peux pas comprendre comment l'exécuter sur le serveur lié.
OriginalL'auteur Laran Evans | 2009-06-03
Vous devez vous connecter pour publier un commentaire.
Serveur lié requêtes utilisent de la mémoire à partir d'une zone à l'extérieur de SQL Server pool de mémoire tampon appelé memToLeave, qui est utilisé pour l'entretien du filetage et maintenant le sql clr entre autres choses. Sur 32 bits c'est de 384 MO en taille, ce qui peut être insuffisant pour certains scénarios.
Si vous avez besoin d'ajuster votre Serveur SQL server configuration de la Mémoire et en particulier de la zone memToLeave vous trouverez une explication sur le blog suivant:
SQL Server Configuration de la Mémoire, la Détermination de Paramètres memToLeave
C'était il y a longtemps. Diriez-vous que ce conseil est toujours d'actualité, John? De beaucoup de forums, il semble être un problème récurrent et a toujours l'air un peu comme une fuite de mémoire. Au moment où le défaut MemToLeave est très bien pour les premiers mois d'utilisation, et puis soudain, aucun des Accès à des serveurs liés avoir assez de mémoire. Il y a certainement un moyen de ré-initialisation juste de le sortir de la piscine de la mémoire et des processus dépendant de lui.
Quel système d'exploitation utilisez-vous? Est-il 64bit? Quelle version de SQL Server vous aide etc.
OriginalL'auteur John Sansom
Si vous exécutez SQL Server 2005 ou même 2008 SP1 ou une version antérieure, il y a un correctif pour un problème de fuite de mémoire: http://support.microsoft.com/kb/974130
OriginalL'auteur Adamantish