Попытка восстановить базу данных из большого файла .sql с помощью sqlcmd - ошибка - PullRequest
1 голос
/ 09 июля 2009

Я пытаюсь восстановить базу данных данных, используя следующую команду из большого .sql файла

Type myfile.sql | sqlsmd –S server –U username –P password

Я получаю следующую ошибку:

Sqlcmd: Error: Scripting error.

Я не могу открыть файл, недостаточно памяти.

Ответы [ 3 ]

2 голосов
/ 09 июля 2009

SQLCMD также имеет параметр входного файла "-i" - я бы рекомендовал использовать его. «Тип» - ввод файла и отправка вывода в SQLCMD - это хакерский способ запуска файла, особенно когда командная строка включает встроенную поддержку чтения из файла. Попробуйте это:

sqlcmd –S server –U username –P password -i MyFile.sql
1 голос
/ 09 июля 2009

вы можете попробовать использовать isql , который имеет опцию -i входного файла - который теряет неприятные

Type myfile.sql |

Вы не говорите, какую версию Sql вы используете, но вы, вероятно, могли бы запустить свой файл с использованием DTS / SSIS, если вы воспользуетесь этим подходом, вы сможете включить ведение журнала и увидеть, какая строка (s) потерпеть неудачу и установить пороговое значение для приемлемого количества ошибочных линий.

Другой способ - использовать Management Studio, чтобы открыть файл и затем запустить его.

0 голосов
/ 09 июля 2009

Попробуйте это

@echo Server:   %1
@echo Database: %2
@echo User: %3
@echo Password:   %4


set ISQLCMD=SQLCMD -S %1 -d %2 -U %3 -P %4 -m1 -i 
...