2

从 Visual Studio 2010 我可以连接到我的 SQL Server Express 2005 实例 - 通过指定 Windows 身份验证。但是,当我使用它不起作用的命令时:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>osql -S SQLEXPRESS -U Quixote
nt -P Password.0
[SQL Native Client]Named Pipes Provider: Could not open a connection to SQL
Server [53].
[SQL Native Client]Login timeout expired
[SQL Native Client]An error has occurred while establishing a connection to
the server. When connecting to SQL Server 2005, this failure may be caused by
the fact that under the default settings SQL Server does not allow remote
connections.

顺便说一句,上面实际上并没有列出我的 Windows 名称和密码 - 我只是替换了示例。我究竟做错了什么?

4

2 回答 2

3

如果要连接 Windows 身份验证,则不能使用 -U 和 -P。那是用于 SQL 身份验证。使用 -E 代替:

osql -S SQLEXPRESS -E
于 2011-05-02T22:37:23.003 回答
1

SQL Server 2005 提供了多种网络协议(如共享内存、TCP/IP、命名管道等) (http://msdn.microsoft.com/en-us/library/ms187892(v=sql.90).aspx)

也许你只启用了共享内存(你的 VS 正在使用它),命令行需要一个命名管道或 TCP/IP 来连接。

因此,请尝试通过 SQL Server 配置管理器启用其他协议,如下所述:

http://support.microsoft.com/kb/914277/en-us

于 2011-05-02T22:41:02.593 回答