重命名承载 SQL Server Stand-Alone 实例的计算机

如果更改了运行 SQL Server的计算机的名称,则会在 SQL Server 启动期间识别新名称。 无需再次运行安装程序来重置计算机名称。 请使用以下步骤更新存储在 sys.servers 中的系统元数据,此元数据由系统函数@@SERVERNAME报告。 更新系统元数据,以反映使用 @@SERVERNAME 的远程连接和应用程序的计算机名称更改,或者从 sys.servers 查询服务器名称。

以下步骤不能用于重命名 SQL Server 的实例。 这些步骤只能用于重命名实例名中与计算机名称对应的部分。 例如,可以将托管 SQL Server 命名 Instance1 实例的计算机更改为另一个名称,例如 MB2。 但是,名称 Instance1 的实例部分将保持不变。 在此示例中,\\ComputerName\ InstanceName 将从 \\MB1\Instance1 更改为 \\MB2\Instance1。

开始之前

开始重命名过程之前,请查看下列信息:

  • 如果 SQL Server 实例是 SQL Server 故障转移群集的一部分,则计算机的重命名过程不同于承载独立实例的计算机的重命名过程。

  • SQL Server 不支持重命名参与复制的计算机,除非对复制使用日志传送。 如果主计算机永久丢失,则可以重命名日志传送中的辅助计算机。 有关详细信息,请参阅日志传送和复制 (SQL Server)

  • 如果重命名配置为使用 Reporting Services 的计算机,则 Reporting Services在计算机名称更改后可能不可用。 有关详细信息,请参阅 重命名报表服务器计算机

  • 重命名配置为使用数据库镜像的计算机时,必须先关闭数据库镜像,然后才能执行重命名操作。 然后,使用新的计算机名称重新建立数据库镜像。 数据库镜像的元数据不会自动更新,以反映新的计算机名称。 使用以下步骤更新系统元数据。

  • 如果用户通过以硬编码方式引用计算机名称的 Windows 组连接到 SQL Server ,则用户可能无法再连接到 SQL Server。 如果 Windows 组指定旧计算机名称,则重命名后可能会发生这种情况。 若要确保这样的 Windows 组在重命名操作之后可以连接 SQL Server ,请更新 Windows 组以指定新计算机名称。

重启 SQL Server 后,可以使用新的计算机名称连接到 SQL Server。 为了确保@@SERVERNAME返回本地服务器实例的更新名称,应手动运行适用于方案的以下过程。 使用的过程取决于您是更新托管默认实例还是命名实例的 SQL Server 的计算机。

重命名托管独立 SQL Server 实例的计算机

  • 对于承载 SQL Server默认实例的重命名计算机,请运行以下过程:

    sp_dropserver <old_name>;  
    GO  
    sp_addserver <new_name>, local;  
    GO  
    

    重新启动 SQL Server实例。

  • 对于承载 SQL Server命名实例的重命名计算机,请运行以下过程:

    sp_dropserver <old_name\instancename>;  
    GO  
    sp_addserver <new_name\instancename>, local;  
    GO  
    

    重新启动 SQL Server实例。

重命名操作后

重命名计算机后,使用旧计算机名称的任何连接都必须使用新名称进行连接。

验证重命名作是否已成功完成

  • 从 @@SERVERNAME 或 sys.servers 中选择信息。 @@SERVERNAME函数将返回新名称,sys.servers 表将显示新名称。 以下示例演示如何使用 @@SERVERNAME。

    SELECT @@SERVERNAME AS 'Server Name';  
    

其他注意事项

远程登录 - 如果计算机具有任何远程登录名, 则运行sp_dropserver 可能会生成类似于以下内容的错误:

Server: Msg 15190, Level 16, State 1, Procedure sp_dropserver, Line 44 There are still remote logins for the server 'SERVER1'.

若要解决此错误,必须删除此服务器的远程登录。

取消远程登录功能

  • 对于默认实例,请运行以下过程:

    sp_dropremotelogin old_name;  
    GO  
    
  • 对于命名实例,请运行以下过程:

    sp_dropremotelogin old_name\instancename;  
    GO  
    

链接服务器配置 - 链接服务器配置将受到计算机重命名操作的影响。 使用 sp_addlinkedserversp_setnetname 可更新计算机名称引用。 有关详细信息,请参阅sp_addlinkedserver(Transact-SQL)sp_setnetname(Transact-SQL)。

客户端别名 - 使用命名管道的客户端别名将受到计算机重命名作的影响。 例如,如果创建了别名“PROD_SRVR”以指向 SRVR1 并使用命名管道协议,则管道名称将如下所示 \\SRVR1\pipe\sql\query。 重命名计算机后,命名管道的路径将不再有效。 有关 Named Pipes 的详细信息,请参阅 使用 Named Pipes 创建有效的连接字符串

另请参阅

安装 SQL Server 2014