笔者这边重新整理:重新命名 SQL Server 作业系统的电脑名称后之修正作业。
今整理如下:
(1)修正 @@servername
请使用以下的程式码,直接执行修正即可,无须填写任何资料。执行完成后,系统会自动关机,您仅需重新启动 SQL Server 即可。
DECLARE @sn sysname,@sno sysname; SELECT @sn=cast(serverproperty('servername') as sysname),@sno=@@SERVERNAME; IF @sno IS NULL BEGIN EXEC sp_addserver @server=@sn,@local = 'local'; SELECT N'Finish the server name to revise, and has already stopped serving, please restart the server'; SELECT N'完成伺服器名稱修改,並已停止服務,請重新啟動伺服器'; SHUTDOWN WITH NOWAIT; RETURN; END ELSE IF (@sn=@sno) BEGIN SELECT N'Do not need to revise the server name'; SELECT N'無須修正伺服器名稱'; RETURN; END ELSE BEGIN EXEC sp_dropserver @sno; EXEC sp_addserver @server=@sn,@local = 'local'; SELECT N'Finish the server name to revise, and has already stopped serving, please restart the server'; SELECT N'完成伺服器名稱修改,並已停止服務,請重新啟動伺服器'; SHUTDOWN WITH NOWAIT; END
(2)修正本机伺服器的登入帐号
若是原本就有允许本机的 Administrator可以管理 SQL Server 时(例如:ServerName/Administrator),请先将此帐号删除后,再度重新加入到 SysAdmin 角色内。
虽然预设 BUILTIN/Administrators 管理群组的成员可以自动具备登入与管理 SQL Server 的权限,但经过测试,在 Replication 等某些作业上,仍然会有问题。
(3)修正 SQL Server 安装程式为不同的 SQL Server 服务所建立使用者群组
SQL Server 安装程式会为不同的 SQL Server 服务建立使用者群组,并依适当情况将服务帐户加入这些使用者群组中。这些群组不仅可简化授与执行 SQL Server 服务与其他可执行档所需权限的过程,也有助于保护 SQL Server 档案。
例如:SQL Server 服务部分:
预设执行个体:SQLServer2005MSSQLUser$ComputerName$MSSQLSERVER
具名执行个体:SQLServer2005MSSQLUser$ComputerName$InstanceName
...
建议删除这些群组,重新建立群组与指派权限。
在此感谢 Colin 的协助。
参考资料:
重新命名 SQL Server 作业系统的电脑名称后之修正作业;修正 @@servername 之问题
http://sharedderrick.blogspot.com/2007/11/sql-server-servername.html
如何:重新命名主控 SQL Server 2005 独立执行个体的电脑
http://technet.microsoft.com/zh-tw/library/ms143799.aspx
How to: Rename a Computer that Hosts a Stand-Alone Instance of SQL Server 2005
http://msdn.microsoft.com/en-us/library/ms143799.aspx
设定 Windows 服务帐户
http://technet.microsoft.com/zh-tw/library/ms143504.aspx
Setting Up Windows Service Accounts
http://msdn.microsoft.com/en-us/library/ms143504.aspx