【发布时间】:2019-09-16 19:12:24
【问题描述】:
我已经阅读了许多关于该错误的帖子和文章:
共享内存提供程序:管道的另一端没有进程。 通讯链路故障。
...包括这些:
我可以通过混合模式和 Windows 身份验证轻松且始终通过 SSMS 进行连接。但是每当我尝试通过sqlcmd.exe 运行sql 脚本时,我都会收到上面显示的错误。
这是我从 Windows 命令 shell 运行的内容:
"C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd.exe" -S localhost -U sa -P myPassword -i "F:\<mypath>\<myfile>.sql"
这是我尝试/验证过的:
- 我在 Windows 10 上运行
SQL Server version 14.0。 - 混合模式身份验证已启用,我可以从 SSMS 连接。
- 我尝试在命令行中指定
127.0.0.1而不是localhost。 - 共享内存协议已启用。
- 已启用命名管道协议。
- TCP/IP 已启用。
- 我的 SQL Server 服务正在运行 - 我可以从 SSMS 进行连接。
- 我在 Windows 防火墙中打开了入站和出站端口 1433,并且我的防火墙允许 SQL Server(作为应用程序)。 (即使我关闭了防火墙,我仍然会遇到同样的错误。)
- 远程连接已启用。
- SQL Server Browser 服务已启用并正在运行。
- SQL Server 代理已启用并正在运行(尽管我认为这没有必要)。
- 我已经重新启动了 SQL Server 服务并重新启动了几次。
最重要的:这一定与我的输入文件有关,该文件超过 200 Mb。当我运行与上面相同的 cmd-line 语句,而是指向 test.sql(它只包含 select getdate())时,它可以完美运行。没有错误,没有连接问题。
在我尝试了一切之后,我永远都会遇到同样的错误。我还能尝试什么?
【问题讨论】:
-
您在 SQL Server 错误日志中看到任何相关消息吗?
标签: sql-server sqlcmd