Не удается выполнить сценарий: недостаточно памяти для продолжения выполнения программы


У меня есть 123mb sql файл, который мне нужно выполнить на моем локальном ПК. Но я получаю

Cannot execute script: Insufficient memory to continue the execution of the program

Как решить эту проблему?

11 58

11 ответов:

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

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

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

принято от здесь.

Это может помочь вам! Пожалуйста, смотрите ниже шаги.

sqlcmd-s server-name-d database-name-I скрипт.sql

  • открыть cmd.exe как администратор.
  • создать каталог документов.
  • поместите файл сценария SQL (script.SQL) в папке "Документы".
  • введите запрос с помощью sqlcmd, server-name, database-name и script-file-name, как показано выше выделенного запроса или ниже командной строки экран.

enter image description here

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

Я столкнулся с этой ошибкой, пытаясь выполнить сценарий SQL 30 МБ в SSMS 2012. После увеличения значения с 1024 МБ до 2048 Мб я смог запустить скрипт.

(Это тот же ответ, который я дал здесь)

Если я правильно понимаю вашу проблему, вы пытаетесь восстановить (transact sql) xyz.sql-база данных + схема. Вы можете попробовать эту команду, которая работала на меня:

SQLCMD -U sa -i xyz.sql

для проверки подлинности Windows используйте этот SQL cmd

SQLCMD -S TestSQLServer\SQLEXPRESS  -d AdventureWorks2018 -i "d:\document\sql document\script.sql"

Примечание: если в пути к файлу sql есть пробел, используйте " (кавычки)"

для проверки подлинности SQL Server используйте этот SQL cmd

SQLCMD -S TestSQLServer\SQLEXPRESS -U sa -P sasa  -d AdventureWorks2018 -i "d:\document\sql document\script.sql"

- S TestSQLServer\SQLEXPRESS: здесь Укажите имя SQL Server

- U sa: имя Пользователя (в случае проверки подлинности SQL Server)

- P sasa: Пароль (в случае проверки подлинности SQL Server)

-д AdventureWorks2018: имя базы данных иди сюда

-Я "d:\document\sql документ\скрипт.sql": путь к файлу SQLFile

иногда, из-за большого размера скрипта и данных, мы сталкиваемся с этим типом ошибки. Серверу требуется достаточно памяти для выполнения и выдачи результата. Мы можем просто увеличить объем памяти, на запрос.

вам просто нужно перейти на вкладку Свойства sql server > память (левая сторона)> теперь установите максимальный предел памяти, который вы хотите добавить.

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

sqlcmd-S mamxxxxxmu\sqlserverr-U sa-P x1123-d QLDB-i D:\qldbscript.sql

  • Откройте командную строку в run as administrator

  • введите вышеуказанную команду

"mamxxxxxmu" - это имя компьютера "sqlserverr" - это имя сервера "СА" - это имя сервера "x1123" - это пароль сервера "QLDB" - это имя базы данных "D:\qldbscript.sql " - это файл сценария sql для выполнения в база данных

повторите этот шаг,

1) Откройте PowerShell

2)Напишите эту команду:

sqlcmd -S PCNAME\SQLEXPRESS -U user -P password -d databanse_name -i C:\script.sql

3) Нажмите Return

: -)

enter image description here

Если вам нужно подключиться к LocalDB во время разработки, вы можете использовать:

sqlcmd -S "(localdb)\MSSQLLocalDB" -d dbname -i file.sql

скачать SQL Server Management Studio 17.6 и попробуйте запустить скрипт. Ссылка для скачивания https://go.microsoft.com/fwlink/?linkid=870039 Это сработало для меня. У меня был 214 MB файл.

ниже скрипт прекрасно работает:

sqlcmd -s Server_name -d Database_name -E -i c:\Temp\Recovery_script.sql -x

симптомы:

при выполнении сценария восстановления с помощью утилиты sqlcmd, 'Sqlcmd: Error: синтаксическая ошибка в строке XYZ рядом с командой' X ‘в файле ' имя_файла.язык SQL.’- обнаружена ошибка.

причина:

это ограничение утилиты sqlcmd. Если сценарий SQL содержит знак доллара ( $ ) в любой форме, утилита не может правильно выполнить сценарий, так как это автоматическая подстановка всех переменных по умолчанию.

:

для выполнения скрипта, который имеет знак доллара ( $ ) в любой форме, необходимо добавить параметр "-x" в командную строку.

например

Оригинал: sqlcmd-S Имя_сервера-d Имя_базы_данных-E-i c:\Temp\Recovery_script.sql

исправлено: sqlcmd-S Имя_сервера-d Имя_базы_данных-E-i c:\Temp\Recovery_script.sql-x