⚠️ 重要:操作前必读
在开始任何修改之前,请务必备份数据库!这是防止操作失败导致数据丢失的最重要一步。

-- 示例:备份所有用户数据库 BACKUP DATABASE [YourDatabaseName] TO DISK = N'C:\Backup\YourDatabaseName.bak' WITH NOFORMAT, NOINIT, NAME = N'YourDatabaseName-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10, CHECKSUM, NODESCRIPTION;
核心概念
在 SQL Server 中,服务器名称有两个概念:
- 计算机名:这是 Windows 操作系统的计算机名称,当你安装 SQL Server 时,它会默认使用这个名称作为其服务器名。
- SQL Server 系统别名:这是一个客户端连接时使用的逻辑名称,它通过 SQL Server 配置管理器 中的 "别名" 功能映射到实际的计算机名或 IP 地址。
我们所说的“修改服务器名称”指的是修改 计算机名,修改后,你需要确保所有连接到该服务器的客户端都使用新的名称。
使用 SQL Server Configuration Manager (推荐)
这是最安全、最官方的方法,因为它会自动更新相关的内部配置,减少出错的可能。
步骤 1:停止 SQL Server 服务

- 打开 SQL Server 配置管理器。
你可以在 "开始" 菜单中搜索它,或者通过 "SQL Server 2008 程序组" -> "配置工具" -> "SQL Server Configuration Manager" 打开。
- 在左侧窗格中,展开 SQL Server 网络配置。
- 在右侧窗格中,找到你的 SQL Server 实例(
MSSQLSERVER或SQLEXPRESS)。 - 右键点击该实例,选择 停止。
步骤 2:修改 Windows 计算机名
- 右键点击桌面上的 “我的电脑”,选择 “属性”。
- 在弹出的窗口中,点击左侧的 “更改设置”。
- 在 “系统属性” 窗口中,点击 “更改” 按钮。
- 输入新的计算机名,然后点击 “确定”。
- 系统会提示你需要重启计算机才能使更改生效。此时不要重启! 先完成 SQL Server 的配置。
步骤 3:使用 SQL Server 中的存储过程更新内部名称
-
以管理员身份打开 SQL Server Management Studio (SSMS)。
(图片来源网络,侵删) -
连接到你的 SQL Server 实例(此时可能需要使用旧的计算机名或 IP 地址)。
-
在查询窗口中,执行以下系统存储过程,这会更新
sys.servers系统表中的记录,使服务器内部引用新的名称。-- 'OldComputerName' 是你修改前的旧计算机名 -- 'NewComputerName' 是你修改后的新计算机名 sp_dropserver 'OldComputerName'; GO sp_addserver 'NewComputerName', 'local'; GO
解释:
sp_dropserver 'OldComputerName': 从 SQL Server 的已知服务器列表中移除旧名称。sp_addserver 'NewComputerName', 'local': 将新名称添加到列表中,并标记为本地服务器。
步骤 4:重启计算机
你可以安全地重启计算机,重启后,Windows 和 SQL Server 都会使用新的计算机名。
步骤 5:验证
-
重启后,再次打开 SSMS。
-
尝试用新的计算机名连接到 SQL Server。
-
执行以下查询,确认服务器名称已更新:
SELECT @@SERVERNAME AS 'Server Name'; -- 或者 SELECT SERVERPROPERTY('ServerName') AS 'Server Name';
直接修改 Windows 计算机名
这个方法更简单,但可能需要后续手动修复一些配置问题,方法一 更为推荐。
步骤 1:停止 SQL Server 服务
与方法一相同,使用 SQL Server 配置管理器停止 SQL Server 服务。
步骤 2:修改 Windows 计算机名
与方法一相同,在 “系统属性” 中修改计算机名,系统会提示重启。
步骤 3:重启计算机
直接重启计算机。
步骤 4:验证和修复
-
重启后,连接到 SQL Server。
-
执行
SELECT @@SERVERNAME;,你会发现返回的值可能还是旧的计算机名,这就是为什么此方法不够完美。 -
你需要 手动 执行方法一中的存储过程来修复这个问题:
sp_dropserver 'OldComputerName'; GO sp_addserver 'NewComputerName', 'local'; GO
-
执行后,再次查询
@@SERVERNAME,确认值已正确更新。
后续步骤:更新客户端连接
修改服务器名称后,所有使用旧名称连接的客户端应用程序(如你的应用程序、连接字符串等)都会失败,你需要:
- 更新应用程序的连接字符串:将
Server=OldName修改为Server=NewName。 - 配置客户端别名:如果客户端使用别名连接,你可以在客户端的 SQL Server 配置管理器中修改或创建指向新服务器名的别名,这样可以避免修改所有应用程序的连接字符串。
- 检查 SQL Server Agent:确保 SQL Server Agent 作业中的任何步骤都使用了新的服务器名。
- 检查链接服务器:如果你的服务器上有配置了链接服务器,请检查并更新它们的定义,指向新的服务器名。
| 步骤 | 方法一 (推荐) | 方法二 (简单但需手动修复) |
|---|---|---|
| 停服务 | 停止 SQL Server 服务 | 停止 SQL Server 服务 |
| 改名 | 修改 Windows 计算机名 | 修改 Windows 计算机名 |
| 执行脚本 | 执行 sp_dropserver 和 sp_addserver |
跳过此步 |
| 重启 | 重启计算机 | 重启计算机 |
| 验证 | @@SERVERNAME 应为 newName |
需要手动 执行脚本修复 @@SERVERNAME |
| 更新客户端 | 更新所有客户端连接 | 更新所有客户端连接 |
对于 SQL Server 2008 这样的旧系统,强烈建议使用 方法一,因为它能确保 SQL Server 内部配置的一致性,避免潜在的连接问题。
