Получение ошибки при выполнении сценария 50 Мб на SQL Server 2008 R2



Я использую SQL Server 2008 R2, у меня есть скрипт для обновления БД, этот скрипт ОК
50 МБ в размере и содержит около 800 000 строк.



ошибка:




название: Microsoft SQL Server Management Studio



Не удается выполнить скрипт.



ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:



недостаточно памяти для продолжения выполнения программы.
(mscorlib)




может кто-то пожалуйста, помогите мне бежать этот скрипт без получения этой ошибки?

630   6  

6 ответов:

используйте инструмент командной строки SQLCMD, который намного меньше по памяти. Это так же просто, как:

SQLCMD -d <database-name> -i filename.sql

вам нужны действительные учетные данные для доступа к экземпляру SQL Server или даже для доступа к базе данных

добавив к ответу @user1293068, мне нужно было указать имя экземпляра. Вот мой полный синтаксис:

sqlcmd -S <ComputerName>\<InstanceName> -d <DatabaseName> -i <MyScript.sql>

это задокументировано на Technet используйте утилиту sqlcmd статьи.

(обратите внимание, что вы должны ввести значение переключателя "-S", а не "-s". Переключатель чувствителен к регистру.)

вы также можете попробовать увеличить максимальное значение памяти сервера в свойствах сервера.
чтобы изменить этот параметр, щелкните правой кнопкой мыши на имени сервера и выберите свойства > вкладка память.

я столкнулся с этой ошибкой при попытке выполнить 30MB SQL скрипт в SSMS 2012.
после увеличения значения от 1024MB to 2048MB мне удалось запустить скрипт.

Если требуются учетные данные

sqlcmd -S <ComputerName>\<InstanceName> -U <username> -P <password> -d <DatabaseName> -i <MyScript.sql>

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

Так:

  1. убедитесь, что ваша сетевая учетная запись имеет достаточные разрешения для доступа как к экземпляру SQL Server, так и к конкретной базе данных, которую вы собираетесь восстановить.

  2. лучше всего, чтобы база данных, которую вы собираетесь восстановить, действительно существовала, если она была просто сгенерирована из сценариев генерации (с изменениями, включающими как схему, так и Данные)

  3. запустите средство командной строки в режиме администратора (при необходимости), например, введите CMD из меню Выполнить в меню Пуск

  4. в командной строке набрать что-то вроде "SQLCMD -d CMS -i C:\Carnotaurus\Data\script.sql". Вот,CMS - это имя базы данных, я намерен восстановить и "C:\Carnotaurus\Data\script.sql" - это полный путь к файлу сценария восстановления, который был сгенерирован сценариями создания в SMSS.

Я надеюсь, что это проясняет несколько недостающих шагов.

Я также столкнулся с подобной проблемой в SQL Server 2012, так как мой размер файла был 70 МБ.

решение, которое сработало для меня, увеличьте файл журнала до неограниченного.

  1. откройте SQL Server Management Studio
  2. в Обозревателе объектов щелкните правой кнопкой мыши имя базы данных и выберите Свойства
  3. в разделе файл измените размер Автороста данных и размер журнала на неограниченный.

Comments

    Ничего не найдено.