Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 import large data  [new]
Hett
Member

Откуда: Бийск, Новосибирск
Сообщений: 13612
Как выполнить большой sql скрипт?


C:\Users\Anton>sqlcmd -S "(local)" -i C:\Users\Anton\Documents\fh_file.sql -d test
Sqlcmd: ошибка - внутренняя ошибка в ExecuteSqlCmd (Причина: Недостаточно памяти
для завершения операции).

На компьютере 32 Гб озу. Файл 2 Гб.
4 июн 17, 11:14    [20537787]     Ответить | Цитировать Сообщить модератору
 Re: import large data  [new]
aleks2
Guest
2Гб - это граница ОДНОГО куска памяти для MS SQL.

Очевидное решение - разбить скрипт на части.
4 июн 17, 11:53    [20537815]     Ответить | Цитировать Сообщить модератору
 Re: import large data  [new]
Hett
Member

Откуда: Бийск, Новосибирск
Сообщений: 13612
Да через CSV импорт сделал.
Я думал есть какой-то аналог MySQL - SOURCE (читает по одной строчке и выполняет, не важно какой размер файла).
BULK INSERT что-то похожее, только SOURCE переваривает SQL запросы.
4 июн 17, 12:48    [20537865]     Ответить | Цитировать Сообщить модератору
 Re: import large data  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30801
Hett
Я думал есть какой-то аналог MySQL - SOURCE (читает по одной строчке и выполняет, не важно какой размер файла).
sqlcmd читает по одному батчу.
То есть если у вас текст разделён go, то вроде не должно быть ограничений.
4 июн 17, 20:06    [20538318]     Ответить | Цитировать Сообщить модератору
 Re: import large data  [new]
Hett
Member

Откуда: Бийск, Новосибирск
Сообщений: 13612
alexeyvg
Hett
Я думал есть какой-то аналог MySQL - SOURCE (читает по одной строчке и выполняет, не важно какой размер файла).
sqlcmd читает по одному батчу.
То есть если у вас текст разделён go, то вроде не должно быть ограничений.


Да, видимо в этом проблема и была...
11 июн 17, 11:52    [20556354]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить