Sqlcmd:错误:Microsoft SQL Native Client:建立到服务器的连接时发生错误。连接到 SQL Server 2005 时,默认设置 SQL Server 不允许远程连接这个事实可能会导致失败。
如果没有将 SQL Server 2005 配置为接受远程连接,则可能会发生此问题。默认情况下,SQL Server 2005 Express Edition 和 SQL Server 2005 Developer Edition 不允许远程连接。若要配置 SQL Server 2005 以允许远程连接,请完成以下所有步骤: 在您要从远程计算机连接到的 SQL Server 实例上启用远程连接。 打开 SQL Server Browser 服务。 配置防火墙以允许与 SQL Server 和 SQL Server Browser 服务相关的网络通讯。 本文介绍如何完成这些步骤中的每一步。 若要在 SQL Server 2005 实例上启用远程连接并打开 SQL Server Browser 服务,请使用 SQL Server 2005 外围应用配置器工具。在安装 SQL Server 2005 时会安装外围应用配置器工具。
为 SQL Server 2005 Express Edition 或 SQL Server 2005 Developer Edition 启用远程连接
必须为要从远程计算机连接到的每个 SQL Server 2005 实例启用远程连接。为此,请按照下列步骤操作:
单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。
如果您是通过使用实例名称来运行 SQL Server 2005 并且在连接字符串中没有使用特定的 TCP/IP 端口号,则必须启用 SQL Server Browser 服务以允许远程连接。例如,使用 计算机名>\SQLEXPRESS 的默认实例名称安装的 SQL Server 2005 Express。不管您正在运行多少个 SQL Server 2005 实例,只需要启用一次 SQL Server Browser 服务。若要启用 SQL Server Browser 服务,请执行以下步骤。
单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。
在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
在“服务和连接的外围应用配置器”页上,单击“SQL Server Browser”,在“启动类型”中单击“自动”选项,然后单击“应用”。
注意:在单击“自动”选项后,每次启动 Microsoft Windows 时将自动启动 SQL Server Browser 服务。
单击“启动”,然后单击“确定”。
注意:在计算机上运行 SQL Server Browser 服务时,计算机显示其上运行的每个 SQL Server 实例的实例名称和连接信息。如果不启用 SQL Server Browser 服务并且通过分配的 TCP 端口直接连接到 SQL Server 实例,则可以降低此风险。本文不讨论如何通过 TCP 端口直接到 SQL Server 实例。有关 SQL Server Browser 服务和连接到 SQL Server 实例的更多信息,请参见《SQL Server 联机丛书》中的以下主题:
SQL Server Browser 服务
连接到 SQL Server 数据库引擎
客户端网络配置
在 Windows 防火墙中创建例外
这些步骤适用于 Windows XP Service Pack 2 (SP2) 和 Windows Server 2003 中包含的 Windows 防火墙版本。如果您使用的是不同的防火墙系统,请参阅相应的防火墙文档以了解更多信息。
如果在运行 SQL Server 2005 的计算机上运行防火墙,将会阻止访问 SQL Server 2005 的外部连接,除非 SQL Server 2005 和 SQL Server Browser 服务可以通过防火墙进行通信。必须为每个要接受远程连接的 SQL Server 2005 实例创建一个例外,并为 SQL Server Browser 服务创建一个例外。
在安装 SQL Server 2005 的程序文件时,SQL Server 2005 会使用一个实例 ID 作为路径的一部分。若要为每个 SQL Server 实例创建一个例外,必须确定正确的实例 ID。若要获取实例 ID,请执行以下步骤:
单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 配置管理器”。
在“SQL Server 配置管理器”中,单击右窗格中的“SQL Server Browser 服务”,右键单击主窗口中的实例名称,然后单击“属性”。
在“SQL Server Browser 属性”页上,单击“高级”选项卡,定位到属性列表中的实例 ID,然后单击“确定”。
若要打开 Windows 防火墙,请单击“开始”,再单击“运行”,键入 firewall.cpl,然后单击“确定”。