2009-09-10 4 views
0

Salutations AmisMémoire insuffisante du système dans le pool de ressources pour exécuter des scripts SQL dans SQL Server 2008

Je suis face à un problème, j'ai un outil qui a été développé en C# .Net 2005 et il va créer la base de données en exécutant SQL scripts; les scripts sont en cours d'exécution.

Lorsqu'il est exécuté sous XP, il fonctionne correctement; mais le problème commence quand il s'exécute dans Windows Vista 32 bits O.S. avec SQR Server 2008 Express, je consigner l'erreur dans le fichier journal; ci-dessous sont le journal avec la taille des fichiers de script. Je ne comprends pas pourquoi il y avait moins de mémoire disponible pour excuter les scripts, plus tôt j'ai fait face à cela et j'ai cassé le Master_Meata_Data en deux fichiers (Master_Data_Metadata1 et Master_Data_Metadata2); encore je suis confronté à la même question dans Vista ...

08/28/2009 En début DB de progression: Local \ SQLEXPRESS: WINDOWS :: 1031: NewDB bgWorkerCreateDB_DoWork: C: \ Program Files \ CreateNewDB \

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Drop_Create.sql (Taille 3KB)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ tables.sql (Taille 999KB)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Master_Data.sql (Sizr 649KB)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Master_Data_Metadata1.sql (Taille 2.72MB) Friday, August 28, 2009 Erreur SQL dans ReadAndExecuteScript: La mémoire système est insuffisante dans le pool de ressources 'internal' pour exécuter cette requête.

vendredi, 28 Août, 2009 17:10 ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Data_Metadata2.sql (Taille 1.55MB) vendredi, 28 Août, 2009 Erreur SQL dans ReadAndExecuteScript: Il y a mémoire système insuffisante dans le pool de ressources "internal" pour exécuter cette requête.

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Initialize_Data.sql (Taille 14.3MB)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Views1.sql (Taille 2 Ko)

ReadAndExecuteScript : C: \ Program Files \ CreateNewDB \ Views2.sql (Taille 4Ko)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Views3.sql (Taille 2 Ko)

ReadAndExecuteScript: C: \ Pro gram Fichiers \ CreateNewDB \ Fn_Duration.sql (Taille 2.27KB)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB_Fn_GetDate.sql (Taille 1 Ko)

ce qui a trait

+2

Le "drapeau du modérateur" est destiné au support administratif et non aux réponses. –

Répondre

0

vous êtes le plus probablement juste à court de mémoire physique, mais si je vous n'êtes pas et ont le gouverneur de ressources activé essayez d'utiliser

ALTER RESOURCE GOVERNOR 
    { DISABLE | RECONFIGURE } 
| 
     WITH (CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }) 
| 
    RESET STATISTICS 
[ ; ] 

et

ALTER WORKLOAD GROUP { group_name | "default" } 
[ WITH 
    ([ IMPORTANCE = { LOW | MEDIUM | HIGH } ] 
      [ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ] 
      [ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ] 
      [ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ] 
      [ [ , ] MAX_DOP = value ] 
      [ [ , ] GROUP_MAX_REQUESTS = value ]) 
] 
[ USING { pool_name | "default" } ] 
[ ; ] 

pour modifier la quantité de mémoire disponible pour l'exécution de requêtes.

MSDN Page for ALTER RESOURCE GOVERNOR

MSDN page for ALTER WORKLOAD GROUP

2

Je ne peux pas répondre à la question de savoir pourquoi il fonctionne sous XP et non Vista, mais quand vous voyez ce message d'erreur associée à un script très important, cela signifie généralement que la le lot de requête est trop grand pour l'analyseur à gérer.

Y a-t-il des instructions GO dans ces scripts? Sinon, c'est probablement ce qui cause l'échec. Plus de 1 Mo est assez gros pour un script SQL qui n'a pas été divisé en lots. Soit mettre quelques déclarations GO là ou (mieux encore) le diviser en petits scripts.

Questions connexes