我正在尝试使用以下命令从大文件中恢复数据库数据.sql
Type myfile.sql | sqlsmd –S server –U username –P password
我收到以下错误:
Sqlcmd: Error: Scripting error.
我无法打开文件,内存不足。
SQLCMD 也有一个“-i”输入文件参数——我建议使用它。“键入”文件并将您的输出通过管道传输到 SQLCMD 是一种运行文件的骇人听闻的方式,尤其是当命令行包含对从文件读取的本机支持时。尝试这个:
sqlcmd –S server –U username –P password -i MyFile.sql
您可以尝试使用具有 -i 输入文件选项的isql - 这会失去令人讨厌的
Type myfile.sql |
您没有说您使用的是哪个版本的 Sql,但您可能可以使用 DTS/SSIS 运行您的文件,如果您采用这种方法,您将能够打开日志记录并实际查看哪一行失败,并为可接受的失败行数设置阈值。
另一种方法是使用管理工作室打开文件,然后执行它。
尝试这个
@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