安装SQL Server 2005 Express后,sqlcmd无法工作

3
我从以下网址下载了53.5 MB的SQL Server 2005 Express设置文件:

Microsoft SQL Server 2005 Express Edition

然后我通过命令提示符运行sqlcmd,但是出现错误

HResult 0x2,级别16,状态1
命名管道提供程序:无法连接到SQL Server 2
Sqlcmd: Error: Microsoft SQL Native Client : 在连接到服务器时发生错误。 连接到SQL Server 2005时, 此故障可能是由于在默认设置下,SQL Server不允许远程连接所致。

Sqlcmd: Error: Microsoft SQL Native Client : 登录超时。

然后我从以下网址下载并安装了Sql命令行实用程序:

Microsoft SQL Server 2005功能包 - 2005年11月版

然后它显示相同的错误。

然后我安装了Sql Native Client,但仍然无法工作。但是当我安装了管理工具时,连接是从管理工具建立的,但不是从命令提示符中的sqlcmd。

请帮忙。


2
你能告诉我们:(1) 你在SQL Server Mgmt Studio中使用的服务器名称是什么?展示给我们看:(2) 你的SQLCMD命令行是什么样子的? - marc_s
@marc_s:先生,服务器名称是:W\SQLEXPRESS,我该如何告诉SQLCMD命令行?它只是:C:\sqlcmd,我能改变实例名称吗?我的计算机名称是W。 - sqlchild
1
@sqlchild:那你是如何运行sqlcmd的???你传递了哪些参数?? - marc_s
我只是输入了C:\sqlcmd,没有其他的,而且当我输入C:\sqlcmd -L时,它只显示“ SERVERS:”,什么都没有,没有服务器名称。 - sqlchild
1
如果你执行类似这样的操作会怎么样:sqlcmd -S W\SQLEXPRESS -E -d master -q "select * from sys.tables" - marc_s
先生,它起作用了,非常感谢,但如果我只给出sqlcmd会有什么问题?此外,运行sqlcmd是否需要SqlCommandLine实用程序和Sql Native客户端安装?这两个不是都绑定在Sql Server 2005 Express设置中了吗? - sqlchild
2个回答

4

仅仅输入sqlcmd是不够的,这个工具怎么知道要连接哪个服务器、使用哪个数据库以及运行哪个命令呢?

有趣的是,我在阅读Microsoft文档时发现,在服务器上输入sqlcmd就可以打开到该服务器的连接。至少根据安全设置,它确实可以。如果没有任何登录/安全选项,输入sqlcmd可能会失败,但该工具肯定会尝试。

而且,没有quit的SQLCMD就是这样,对吧?


3
如果你做类似以下的事情会怎样:
sqlcmd -S W\SQLEXPRESS -E -d master -q "select * from sys.tables"

仅仅输入sqlcmd是无法正常工作的 - 这个实用程序怎么知道要连接哪个服务器,使用哪个数据库以及运行什么命令呢?

您需要告诉sqlcmd您想要做什么!使用sqlcmd -?获取其命令选项列表,研究并使用它们!或阅读MSDN文档使用SQL Server Express中的sqlcmd实用程序 - 顺便说一句:对于所有SQL Server问题,搜索MSDN以获取答案和文档将是一个好主意......

确实需要SQL Native Client,是的 - 不确定您在第二个包中指的是什么。


非常感谢您,但是之前我安装 SQL Express 时,只需在 C:\sqlcmd 中输入命令就可以连接成功,没有任何问题。另外,我该如何更改实例名称,目前的名称是 SQLEXPRESS,是否可以更改? - sqlchild
1
@sqlchild:如果你想更改实例名称,你需要先卸载并重新安装SQL Server。 - marc_s

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接