在脚本中我有指令
:connect DbServer
似乎如果我在 SQLCMD 中运行这个脚本(像这样:
sqlcmd -i script.sql
然后 sqlcmd 尝试使用命名管道进行连接(这不起作用)。我收到错误消息,指出命名管道提供程序无法连接。但是,如果我尝试通过在 -S 参数中指定其名称来连接到同一台服务器,它就可以正常工作。
有没有办法让 :connect 指令知道我正在尝试通过 TCP/IP 进行连接?
我尝试使用 :connect tcp:DbServer 无济于事。也尝试通过 IP 地址,结果相同。在这台机器上,我没有 SQL Server 配置管理器来指定 connectino 别名或操作协议。也许这是下一步要做的事情,但我想知道是否有人知道在脚本中包含连接规范的方法。
sqlcmd.exe -S tcp:myserver
或者sqlcmd.exe -S tcp:myserver\instance
应该做的伎俩。如果您必须指定端口,请这样做:sqlcmd.exe -S tcp:myserver,1433
顺便说一句,SQLCMD 的文档可直接从Microsoft获得,其中将 -S 参数语法声明为:
SQL Server Management Studio 中的 SQLCMD 模式接受完全相同的语法。
所以: