我正在准备服务器迁移,并尝试将 SQL Server 2012 (DW) 的命名实例重定向到默认实例。测试服务器上目前没有 DW 实例 - 我想避免重新创建它并在升级时将所有数据库整合到默认实例上。但是,我需要指向命名实例的连接才能继续运行。
我按照指示设置了一个别名这里并且当我通过 RDP 连接到服务器时,我能够使用命名实例 (xx.xx.xx.xx\DW) 连接到默认实例 (xx.xx.xx.xx)。我也能够从本地 SSMS 连接到默认实例。但是,当我尝试从本地 SSMS 连接到命名实例(应重定向到默认实例)时,我收到一条错误消息:
A network related or instance-specific error occurred while establishing a
connection to SQL Server. The server was not found or was not accessible.
Verify that the instance name is correct and that SQL Server is configured
to allow remote connections
别名可以在服务器内部运行,但在远程却不能运行,这是什么原因呢?
答案1
您必须在将通过命名实例连接到 SQL Server 的每台用户计算机上创建别名。
答案2
为了避免必须在每台客户端计算机上安装 ALIAS,您可以在 Active Directory 中创建一个计算机对象并为其分配安装 SQL 的服务器的 IP 地址。
然后转到 SQL SERVER CONFIGURATION MANAGER 中的 TCP/IP 协议并启用 IP 地址。将 TCP 动态端口设置为 0,并将 TCP 端口留空。
对我有用。
答案3
无需在每个客户端上设置客户端别名,只需设置主机名别名即可,如下所述 http://blogs.msdn.com/b/dbrowne/archive/2012/05/21/how-to-add-a-hostname-alias-for-a-sql-server-instance.aspx