更改安装SQL Server 2008的计算机名称是否会影响SQL Server?还是更改计算机名称对SQL Server是透明的?
例如:
我计划安装Windows 2008 Server并将其命名为“ BobStage”。接下来,我将安装SQL Server 2008 R2并还原一些数据库。最后,我计划将Windows机器重命名为“ BobLive”。
我重命名计算机名称是否会影响SQL Server的实例ID /名称并可能破坏某些内容?
更改安装SQL Server 2008的计算机名称是否会影响SQL Server?还是更改计算机名称对SQL Server是透明的?
例如:
我计划安装Windows 2008 Server并将其命名为“ BobStage”。接下来,我将安装SQL Server 2008 R2并还原一些数据库。最后,我计划将Windows机器重命名为“ BobLive”。
我重命名计算机名称是否会影响SQL Server的实例ID /名称并可能破坏某些内容?
Answers:
当您更改运行SQL Server的计算机的名称时,在SQL Server启动过程中将识别新名称。您不必再次运行安装程序来重置计算机名称。而是,使用以下步骤更新存储在sys.servers中并由系统功能报告的系统元数据@@SERVERNAME
。更新系统元数据以反映使用@@SERVERNAME
或从中查询服务器名称的远程连接和应用程序的计算机名称更改sys.servers
。
以下步骤不能用于重命名SQL Server实例。它们只能用于重命名实例名称中与计算机名称相对应的部分。例如,您可以将承载名为Instance1的SQL Server实例的名为MB1的计算机更改为另一个名称,例如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中解析。