天天看点

MS SQL 能否修改实例名称

前几天研究了了一下修改数据库名称的方式后,今天突然冒出一个问题,ms sql的命名实例是否也可以修改呢?例如下图,我在本机上安装了一个命名实例gsp,如果我想将其改为gsps,能行吗? 如果可以,那么该怎么做呢?

MS SQL 能否修改实例名称

修改sysservers脚本

  exec sp_configure'allow updates', 1;

  reconfigure with override;

  go

  update master..sysservers set srvname='a8bec8491730444\gsps', dataaccess='a8bec8491730444\gsps',

           srvnetname='a8bec8491730444\gsps'

       where srvname ='a8bec8491730444\gsps';

  exec sp_configure'allow updates', 0;

因为sql server 2005 和 sql server 2008 不再支持直接对系统表进行修改,上面语句会报如下错误。

消息 259,级别 16,状态 1,第 2 行

不允许对系统目录进行即席更新。

那么接下来我们来看看修改计算机名称,会给数据库带来什么影响,我把计算机名称从a8bec8491730444改为kerry,然后重启机器和服务,执行下面脚本

code snippet

use master;

go

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

执行完脚本后,我们来看看查询结果

我们重启一下服务.ok,问题已经解决

结论:折腾了大半下午,终于弄清了一个事实,数据库命名实例是不能修改的,不能将gsp改为其它名称,除非你重装mssms。不像oracle数据库的实例名是可以修改的。但是呢,可以修改计算机名称。