sqlserver主机名变更后的错误与处理办法

时间:2021-07-09 13:31:04

sqlserver 服务器更改主机名后,需要做一些操作,不然维护计划 以及订阅发布都会有问题,具体步骤如下:可以参考


有时修改计算机名后,执行select @@servername仍返回原来的计算机名,表示"实例"并没有随着修改,这时需要手工执行:

sp_dropserver '原主机名'

然后执行
sp_addserver '新主机名','local'
然后,重起数据库服务,这时再执行select @@servername就会返回修改后的计算机名,表示"实例"修改过来了.



验证过的:
select convert(varchar(100),serverproperty('ServerName'))
select convert(varchar(100),@@servername)


具体如下:

1、禁用发布
2、exec sp_dropserver '原主机名', 'droplogins'
3、sp_addserver '新主机名','local'

注意大小写和select convert(varchar(100),serverproperty('ServerName')) 的统一


也可以执行以下脚本:

--执行下面的语句,完成后重新启动SQL服务
if serverproperty('servername') <> @@servername
begin
declare @server sysname
set @server = @@servername
exec sp_dropserver @server = @server
set @server = cast(serverproperty('servername') as sysname)
exec sp_addserver @server = @server , @local = 'LOCAL'
end


做了以上可以避免以下错误



以下是更改计算机名称后维护计划有变化如何进行操作

[298] SQLServer 错误:  15404,无法获取有关 Windows NT 组/用户 'HRB-LG\Administrator' 的信息,错误代码 0x534。 [SQLSTATE 42000] (ConnIsLoginSysAdmin)

以前没有遇到过这个问题,不过看这个错误信息:无法获取有关 Windows NT 组/用户 'WIN-I556UB3ODG2\Administrator' 的信息。这个十有八九是因为所有者的关系,建立作业时默认的所有者是当前用户,但是计算机的用户跟sql的所有者不一定一致。

打开作业的常规界面,把这个“WIN-I556UB3ODG2\Administrator”改成:“sa”。

SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 MYPC\Administrator' 的信息,错误代码 0x534。 [SQLSTATE 42000] (ConnIsLoginSysAdmin)

当我们系统用户名更改后,会发现原来SQL中的之前运行好好的维护计划突然间全部运行失败,并出现上面错误提示。解决方法是先将 SQL 安全性>>登录名 中原来的系统用户名更改为现在所用的用户名,然后删除现有的维护计划重新建维护计划。