我们有一个可以使用 mssql2k 或 2k8 的应用程序。我们一直在使用 2k,但我决定尝试使用 2k8 进行比较。我将其与 mssql2k 一起安装在我们的 win2k3 服务器上。在服务器上的 ODBC 小程序中,我能够设置对 2k8 的访问,并且它最终成功通过了测试,无论我告诉它使用 Windows 身份验证还是 sql 登录。后者是应用程序始终访问 mssql2k 的方式。该应用程序在服务器上运行良好,但当我在工作站(winxpsp3)上尝试时,我得到一个标题为“Microsoft SQL Server 登录”的窗口,其中显示:
Connection failed:
SQLState: '01000'
SQL Server Error: 53
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
Connection failed:
SQLState: '08001'
SQL Server ERror: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.
然后我得到了 ODBC 登录对话框,我无法正确登录(我只是不断收到上述相同的错误),即使在服务器上重置密码后复制并粘贴密码,以及是否选中“受信任”。 “选项”被禁用。
对于 mssql2k,服务器直接是 SERVERNAME,但对于 mssql2k8,它被称为 SERVERNAME\mssql2008。这在服务器上有效,为什么在工作站上不行?(顺便说一下,我以同一个人的身份登录。)
答案1
请参阅此相关问题: 如何启用 SQL Server 2008 的远程连接?
答案2
答案3
如果启用远程连接对您没有任何作用,请转到 Sql Server 配置管理器检查 TCP/IP 设置。展开 SQL Server 网络配置项,然后单击“您的实例名称 (mssql2008)”的协议。应该启用 TCP/IP,如果没有,请启用。然后转到 TCP/IP 的属性。确保它没有使用动态端口,除非没有防火墙限制。如果有防火墙限制,请转到底部,说 IPAll,然后是 TCP 端口,并输入端口号,如 1435。然后在防火墙中启用此端口并重试。
答案4
您是否检查过服务器上的 Windows 防火墙设置?您必须允许 TCP 端口 1433(传入)。