Недостаточно системной памяти в пуле ресурсов для выполнения сценариев SQL в SQL Server 2008 - PullRequest
0 голосов
/ 10 сентября 2009

У меня есть инструмент, который был разработан в C # .Net 2005, и он будет создавать базу данных, выполняя сценарии SQL; сценарии выполняются в пакетном режиме.

При запуске в XP работает нормально; но проблема начинается, когда он работает в Windows Vista 32-битной O.S. с SQR Server 2008 Express; Я регистрирую ошибку в файле журнала; ниже приведен журнал с размером файлов скриптов.

Я не понимаю, почему доступно меньше памяти для выполнения сценариев, ранее я сталкивался с этим и разбивал Master_Meata_Data на два файла (Master_Data_Metadata1 и Master_Data_Metadata2); Я все еще сталкиваюсь с той же проблемой в Vista.

08/28/2009 В процессе запуска БД: Local \ SQLEXPRESS: WINDOWS :: 1031: NEWDB bgWorkerCreateDB_DoWork: C: \ Program Files \ CreateNewDB \

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Drop_Create.sql (Размер 3 КБ)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Tables.sql (размер 999 КБ)

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

ReadAndExecuteScript: C: \ Program Файлы \ CreateNewDB \ Master_Data_Metadata1.sql (размер 2,72 МБ) Пятница, 28 августа 2009 г. Ошибка SQL в ReadAndExecuteScript: недостаточно системной памяти в «внутреннем» пуле ресурсов для выполнения этой операции. запрос.

пятница, 28 августа 2009 г., 17:10. ReadAndExecuteScript: C: \ Program Файлы \ CreateNewDB \ Data_Metadata2.sql (размер 1,55 МБ) Пятница, 28 августа 2009 г. Ошибка SQL в ReadAndExecuteScript: недостаточно системной памяти в «внутреннем» пуле ресурсов для выполнения этой операции. запрос.

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Initialize_Data.sql (Размер 14,3 МБ)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Views1.sql (размер 2KB)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Views2.sql (размер 4KB)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Views3.sql (размер 2KB)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB \ Fn_Duration.sql (Размер 2,27 КБ)

ReadAndExecuteScript: C: \ Program Files \ CreateNewDB_Fn_GetDate.sql (Размер 1 КБ)

Ответы [ 2 ]

2 голосов
/ 07 января 2010

Я не могу ответить на вопрос, почему он работает в XP, а не в Vista, но когда вы видите это сообщение об ошибке, связанное с очень большим сценарием, это обычно означает, что пакет запроса слишком велик для анализатора обрабатывать.

Есть ли в этих скриптах операторы GO? Если нет, то, вероятно, это является причиной сбоя. Более 1 МБ достаточно велико для сценария SQL, который не был разбит на пакеты. Либо добавьте туда несколько операторов GO, либо (еще лучше) разбейте их на более мелкие сценарии.

0 голосов
/ 02 октября 2009

Скорее всего, у вас просто не хватает физической памяти, но если у вас нет, и у вас включен регулятор ресурсов, попробуйте использовать

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

и

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" } ]
[ ; ]

для изменения объема памяти, доступной для выполнения запросов.

Страница MSDN для ALTER RESOURCE GOVERNOR

Страница MSDN для ALTER WORKLOAD GROUP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...