none
利用“主机名\实例名”远程连接数据库遇到的问题。 RRS feed

  • 问题

  • 本地机与服务器不在同一网络。打算用发布和订阅的方式将本地机的数据同步至服务器中。数据库用的是sql 2012,实例采用的是命名实例,不是默认实例。

    现在已能够通过在本地机中采用“服务器主机名+sa帐号和密码”以及“服务器IP+sa帐号和密码”的方式远程登录服务器数据库中,同样也能在服务器中连接本地机的数据库。

    但在仅用主机名或ip登录的情况下,新建订阅时会出现如下的错误提示(目前不能发图片,我将错误提示中的文字写出来)

    --------错误提示开始-------

    “由于未在SQL Server的此实例上安装复制组件,Microsoft SQL Server Management Studio无法访问这些组件。有关安装复制组件的信息,请参阅……”    

    “其它信息”

    SQL Server复制需要有实际的服务器名称才能连到到服务器。请指定实际的服务器名称‘我的主机名\我命名实例的名称’。(Replication.Utilities)"

    ---------错误提示结束-------

    从网上搜索类似的问题,感觉这个问题主是登录时未使用“主机名\实例名”的方式,但如果使用“主机名\实例名”的方式登录,又无法登录成功。出现如下的提示(错误提示中的内容)

    --------错误提示开始-------

    ”无法连接到‘我的主机名\我命名实例的名称’“

    ”其它信息“

    ”在与SQL Server建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确且SQL Server已配置为允许远程连接。(provider: SQL Server Network Interfaces, error: 26- 定位指定的服务器/实例时出错)“

    --------错误提示结束-------

    请问出现这样的 问题,主要是哪里出错了?需要如何解决呢。

    或者有没有别的方法将本地数据同步至服务器(需要多个本地机发布,服务器中心订阅)

    2017年5月26日 3:21

全部回复

  • 登录时指定的服务器名称,必须是 @@SERVERNAME 的名称,否则就会出现这种问题

    考虑的解决方法可以是:

    1. 用脚本创建

    2. 用 @@SERVERNAME 的值连接,如果这个值不能通过,可以通过 sql server 配置管理器中新建别名来解决

    2017年5月26日 7:41
  • 登录时指定的服务器名称,必须是 @@SERVERNAME 的名称,否则就会出现这种问题

    考虑的解决方法可以是:

    1. 用脚本创建

    2. 用 @@SERVERNAME 的值连接,如果这个值不能通过,可以通过 sql server 配置管理器中新建别名来解决

    通过设置别名解决了,非常感谢。

    此前我也看到过用别名的方式解决,但当时对别名的理解没有到位。今天看到你的回复,又重新查阅了别名的相关内容。

    再次感觉你的帮助

    2017年5月26日 9:39