【发布时间】:2013-08-25 02:16:16
【问题描述】:
我有两台 Win 7 64 位机器。
在第一个上,我已经安装了 SQL Server 2008 R2 Express,并且通过 Management Studio 与 Windows Auth 以及通过 SQL Auth 与我在数据库上设置的用户进行连接都没有问题。
在第二台机器上,我尝试使用 Management Studio 连接到机器 1 上的数据库。我正在尝试 SQL 身份验证。因此,我显然也无法通过我的 .NET 代码中的连接字符串连接到它
我可以从第二台机器 ping 第一台机器。
我尝试过的事情包括:
在安装了数据库的机器上,确保防火墙允许端口 1433 上的连接
- 确保 SQL Server 服务正在运行
- 确保 SQL Server Browser 服务正在运行
- 在防火墙中为 sqlbrowser.exe 创建了一个例外
- 通过 SQL 配置管理器启用 TCP/IP 协议
- SQL Server Management Studio 中允许远程连接
我得到的错误是:
与 SQL Server 建立连接时出现与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接
这是我在代码中使用的连接字符串
数据源=xxx.xxx.xxx.xxx\sqlexpress;初始目录=dbName;用户ID=myUser;密码=myPassword;
【问题讨论】:
-
你能telnet到机器的1433和1434端口吗?您是否尝试完全关闭防火墙?我不认为只有 sqlbrowser 的例外会做到这一点......
-
很好的建议。无法在这些端口上 telnet。完全关闭防火墙允许我连接。我需要在不同的端口上配置一个开口吗?
-
谢谢亚伦伯特兰。您的建议使我在 SQL Server 日志中发现它正在侦听不同的端口,一旦我在防火墙中弹出一个洞,它就可以工作了!我怎样才能仅根据评论而不是答案给您一些积分?
标签: sql database-connection connection-string sql-server-2008r2-express