更改安装 SQL Server 2008 的计算机名称是否会对 SQL Server 产生任何影响?或者更改计算机名称对 SQL Server 是否透明?
例如:
我计划安装 Windows 2008 Server 并将其命名为“BobStage”。接下来,我将安装 SQL Server 2008 R2 并恢复一些数据库。最后,我计划将 Windows 计算机重命名为“BobLive”。
我重命名计算机的名称是否会影响 SQL Server 的实例 ID/名称并可能破坏某些东西?
答案1
更改运行 SQL Server 的计算机的名称时,新名称将在 SQL Server 启动期间被识别。您不必再次运行安装程序来重置计算机名称。相反,请使用以下步骤更新存储在 sys.servers 中并由系统函数 报告的系统元数据。更新系统元数据以反映使用或从 查询服务器名称的@@SERVERNAME
远程连接和应用程序的计算机名称更改。@@SERVERNAME
sys.servers
以下步骤不能用于重命名 SQL Server 实例。它们只能用于重命名与计算机名称相对应的实例名称部分。例如,您可以将名为 MB1 的计算机(该计算机承载名为 Instance1 的 SQL Server 实例)更改为其他名称,例如 MB2。但是,名称的实例部分 Instance1 将保持不变。在此示例中,\\ComputerName\InstanceName would be changed from \\MB1\Instance1 to \\MB2\Instance1.
在开始重命名过程之前,请查看以下信息:
当 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 默认实例的重命名计算机,请运行以下步骤:
sp_dropserver <old_name>
GO
sp_addserver <new_name>, local
GO
Restart the instance of SQL Server.
对于托管 SQL Server 命名实例的重命名计算机,请运行以下步骤:
sp_dropserver <'old_name\instancename'>
GO
sp_addserver <'new_name\instancename'>, local
GO
Restart the instance of SQL Server.
重命名计算机后,任何使用旧计算机名称的连接都必须使用新名称进行连接。
验证重命名操作是否已成功完成
SELECT @@SERVERNAME AS 'Server Name'
注意:您可能遇到的一个问题是数据库维护,有时在重命名服务器和/或将其移出域时SA 帐户可能会受到影响,因此您可能需要删除然后重新创建数据库维护,请记住 SA 拥有的任何其他 SQL Server 代理作业,并确保新名称在 DNS 中解析。