如何重命名SQL Server 2008实例?

我如何重新命名一个SQL Server 2008实例而不重新安装?

例如,如果数据库被引用为“MySQLServer \ MSSQL2008”,我怎样才能重新命名为“MySQLServer \ SQL2008”?

我不认为可以重新安装而不用重新命名。

在一些内部数据库(如复制)中留下了名称的痕迹,稍后您可能会发现错误。

如果可以,除非有多个实例,否则最好重新安装,然后重新导入所有数据库。

我知道这个脚本在networking上是无处不在的,但是每当我google的时候,我都会提出精心devise的存储过程,这些过程对于我的需求来说是过度的 – 所以这里是重命名SQL Server实例所需的命令,

  • 获取SQL Server实例的当前名称以供以后比较。
    SELECT @@servername
  • 从本地SQL Server实例的已知远程和链接服务器列表中删除服务器。
    EXEC master.dbo.sp_dropserver '[SERVER NAME]'
  • 定义SQL Server的本地实例的名称。
    EXEC master.dbo.sp_addserver '[NEW SERVER NAME]', 'local'
  • 获取用于比较的SQL Server实例的新名称。 SELECT @@servername

以及与他们的使用有关的一些注意事项:
sp_dropserver

  1. 此存储过程可以删除远程和链接的服务器;
  2. 使用droplogins参数表示还必须删除[SERVER NAME]的相关远程和链接服务器login名。

sp_addserver

  1. 要定义链接的服务器,请使用sp_addlinkedserver(因为此function将在SQL Server 2005之上的版本中折旧);
  2. sp_addserver不能在用户定义的事务中使用。

重命名SQL Server时,我还会推荐以下内容:
如果您正在执行此任务作为机器重命名的一部分,请首先重命名机器,然后重命名SQL Server。 一旦你重命名了SQL Server,就要重新启动SQLServer,包括任何相关的服务。

我从下面的链接中获得了这些信息:

https://web.archive.org/web/20141116031942/http://modhul.com/2008/01/15/renaming-a-sql-server-instance/

只需要简单地说明一下,你可以添加一个“别名”,并使用两个名字:

在这里输入图像描述

select @@servername将显示新名称,但ERRORLOG中的服务器名称将显示旧名称,并且不能使用新名称进行连接。

唯一的解决办法是重新安装。

你想要使用ALTER DATABASE。

http://msdn.microsoft.com/en-us/library/ms174269.aspx

在这种情况下,对于上面的例子,我会尝试:

 ALTER DATABASE MSSQL2008 MODIFY NAME = 'SQL2008' 

祝你好运!