Diagnosing Connection to SQL Server

2019-07-03 21:08发布

我试图创建ODBC连接到SQL Server,但是当我做,我得到的错误:

Connection failed:
SQLState: '01000'
SQL Server Error: 10060
[Microsoft][ODBC_SQL Server Driver][TCP/IP Sockets] COnnectionOpen (Connect()).
Connection failed:
SQLState: '08001'
SQL Server Error: 17
[Microsoft][ODBC_SQL Server Driver][TCP/IP Sockets] SQL Server does not exist or access denied.

以下是我已经试过:

  1. 没有防火墙的问题:与SQL Server上的防火墙试图关闭,客户端关闭。 也可以从客户端Telnet 1433和工作正常。
  2. 不能访问的问题:我可以用我使用的是客户帐户从许多不同的计算机上登录,包括SQL Server本身(使用SQL Server身份验证)
  3. 我可以ping主机名和IP地址。 (我用尽全力)

我能想到的唯一的事情是,客户端计算机的Windows Server 2003,并具有各种角色的设置:

  • 文件服务器
  • 应用服务器
  • 终端服务器
  • 域控制器
  • DNS服务器

我不知道为什么这些服务的设置,但暂时我不能关闭他们。 难道是任何这些,如果是这样,是有办法禁用任何的他们的方面,这可能会阻止SQL。

任何建议真正的赞赏!

Answer 1:

发现这个问题。 出于某种原因,即使SQL是不是在客户端上使用,它被安装,并通过将所有程序 - > Microsoft SQL Server的 - >客户端网络实用工具,我发现protocal TCP / IP使用端口4717我不知道为什么该端口是在使用,甚至进一步,我不知道为什么它甚至会事 - 我只是建立一个ODBC连接,完全不使用SQL Server(客户端)。 无论哪种方式,我改变了这种典型的端口(1433),和喜欢的热潮,ODBC连接工作般的魅力!



Answer 2:

有没有可能是有问题的服务器没有被配置为使用命名管道?

原因
最常见的原因,这种连接尝试失败是此DSN或ODBC数据源尝试使用TCP / IP套接字网络库(Dbmssocn.dll)来建立连接。 因为SQL Server没有侦听的TCP / IP套接字客户端的传入连接,连接失败。 从ISQL /瓦特,将返回上述的第二错误消息。 操作系统错误为10061,和函数调用失败是ConnectionOpen(连接())。

替代方法
默认情况下,SQL Server将侦听命名管道客户端的传入连接。 命名管道是默认的IPC机制,客户端连接到SQL Server 4.2版,6.0和6.5的服务器。 命名管道DLL是Dbnmpntw.dll,通常应位于Windows \ System或Winnt \ System32目录。 在TCP / IP套接字的netlib DLL是Dbmssocn.dll,也应该在Windows \ System或WINNT \ SYSTEM32 directory.The最常见的解决这个问题的方法来配置客户端计算机使用命名管道连接。 配置命名管道如果Microsoft数据访问组件(MDAC)ODBC驱动程序已安装在计算机上,你可以在创建新数据源向导的第二步这种变化。

注意:您可以从以下网址下载MDAC驱动程序:

http://msdn2.microsoft.com/en-us/data/aa937730.aspx要配置客户端,启动创建新数据源向导,单击客户端配置按钮,并执行以下步骤的基础上的版本您正在使用SQL Server ODBC驱动程序:

对于SQL Server ODBC驱动程序版本3.50

 Click the Net Library tab and use the drop down list box to set the default network (Net Library) to Named Pipes. On the Advanced tab, remove any advanced entries that reference the server you are connecting to. Click Done. 

对于SQL Server ODBC驱动程序版本3.70

 In the Network Libraries section of the Edit Network Library Configuration dialog box, select Named Pipes. Click OK. 

如果您没有安装MDAC ODBC驱动程序,您可以使用SQL Server客户端配置实用工具的默认网络库设置为命名管道。 您可以从i386目录安装从SQL Server光盘的客户端工具。

来源: http://support.microsoft.com/kb/195566



Answer 3:

默认情况下,SQL本机客户端似乎已认准了MSSQLSERVER实例。 但是,如果您使用SQLEXPRESS通过所有的连接将失败。

很奇怪,但尝试MSSQLSERVER实例名称安装的SQL Server - 它应该工作!



Answer 4:

要创建一个新的数据源到SQL Server,请执行下列操作步骤:

  1. 在主机/服务器到SQL Server管理套件 - >打开保卫科的左手 - >右键点击登录,选择新建登录,然后为你的数据库,你要连接到一个新的帐户。

  2. 检查TCP / IP协议是启用。 去所有程序 - >微软SQL服务器2008 - >配置工具 - >打开SQL Server配置管理器。 在左侧选择客户端协议(根据您的操作系统32/64位上)。 在右侧,检查TCP / IP协议来实现。

  3. 在远程计算机/服务器,打开数据源管理员。 控制面板 - >管理工具 - >数据源(ODBC)。

  4. 在用户DSN或系统DSN,点击添加按钮并选择SQL Server驱动程序,然后按完成。

  5. 输入名字。

  6. 输入服务器,请注意:如果你想进入主机地址,你应该没有“\\”进入that`s IP地址。 例如。 192.168.1.5,然后点击下一步。

  7. 选择使用由用户输入登录ID和密码的SQL Server身份验证。

  8. 在波纹管输入您在第一步中创建您的登录ID和密码。 然后单击下一步。

  9. 如果显示的数据库是数据库,点击下一步,然后完成。



文章来源: Diagnosing Connection to SQL Server