мне нужно запустить «большой» сценарий на SQL Server 2008 R2, экспресс и не удается сБольшой сценарий неудачу на SQL Server 2008 R2 Экспресс
Существует недостаточно системной памяти в пуле ресурсов «внутренний» в выполните этот запрос.
Сценарий вокруг 10MB сохраняется на диске, содержит около 54000 заявлений на высшем уровне (вставка/удаление/обновление) и объявляет о 5000 переменных (типа BIGINT
).
Я запускаю SQL Server 2008 R2 Express 64bit 10.5.1746. Для VM выделено 3 ГБ, 1 ГБ выделено SQL Server, минимальная память 512 Кбайт на запрос. Результаты DBCC MEMORYSTATUS
можно найти на this link.
Сценарий - это просто восстановление базы данных о производстве (легкая), которая была экспортирована в виде операторов SQL (только для данных, без схемы).
Если это невозможно сделать, я шокирован тем, что SQL Server не может справиться с таким базовым сценарием. Я тестировал этот эквивалентный сценарий на Firebird и Sqlite, и он работал отлично! (и они являются продуктами с открытым исходным кодом).
ПРИМЕЧАНИЕ: невозможно разбить скрипт, поскольку переменные, объявленные в начале, ссылаются в конце скрипта.
УКАЗАНИЕ: Прежде чем спешить, чтобы отметить это как «дубликат», обратите внимание, что другие подобные потоки не затрагивают конкретную проблему «Как запустить очень большой скрипт в SQL Server 2008».
У вас есть пакет обновления 1 (SP1) для SQL Server (см. Http://support.microsoft.com/kb/982854)? – rsbarro
@rsbarro: У меня R2 установлен с исправлением статей. Все еще не удается. –
Альтернативой является сохранение значений переменных в таблице и разбиение скрипта с помощью go и извлечение переменных из таблицы при необходимости. В любом случае это зависит от сценария, который вы используете. Это всего лишь предложение. – Maximus