0

我刚开始在 SQL Server 2005 企业版上使用 sqlcmd。

我可以从命令行很好地连接到我的服务器:

sqlcmd -SSQLSERVERNAME -Q"选择测试=1"

但是,当我创建一个只有这一行的 junk.sql 文件时:

:connect -SSQLSERVERNAME

...并尝试通过在命令行运行以下命令来运行它:

sqlcmd -i C:\junk\junk.sql

...我什至无法连接 - 我收到此错误:

命名管道提供程序:无法打开与 SQL Server [2] 的连接。Sqlcmd:错误:Microsoft SQL Native Client:建立与服务器的连接时发生错误。连接到 SQL Server 2005 时,此故障可能是由于在默认设置下 SQL Server 不允许远程连接。 Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired。

根据我的阅读,我认为使用 connect 命令应该可以工作。我只是使用不正确吗?我想做的是使用connect命令连接sql文件(最终使用不同服务器的变量),然后使用 :r 命令运行不同的sql文件

想法?

谢谢,西尔维亚

4

2 回答 2

1

:connect命令不需要 -S 开关,只需使用

:connect "SQLSERVERNAME"
于 2009-12-16T23:52:51.847 回答
0

好的 - 我做错了两件事:

** 看来,当您运行 sqlcmd 时,您必须从一开始就连接到某些东西。我以为我可以这样做:

sqlcmd -i C:\junk\junk.sql

但我必须这样做

sqlcmd -i -SServerName C:\junk\junk.sql

我没有运行本地默认实例-大概如果您运行本地默认实例,则没有问题。

** 然后在junk.sql中,可以进行如下操作

:connect 服务器名

请注意,它不是

:connect -SServerName

希望这可以帮助!

于 2009-12-17T00:02:42.890 回答