sp_dropserver和sp_addserver无法正常工作

时间:2011-05-10 21:38:55

标签: sql-server sql-server-2008 sql-server-express

我正在使用SQL Server Express 2008 R2,我想将实例名称从“机器名称”\ SQLEXPRESS2008R2更改为“机器名称”。我跑了:

sp_dropserver 'old_name'

go

sp_addserver 'new_name', 'local'

go

然后重新启动SQL服务。现在,当我看到

Select @@SERVERNAME --this is correct

但这不正确?

Select serverproperty('ServerName') --This still shows old name

所以,当我尝试通过SSMS连接到我的实例时,仍然需要使用旧的实例名称进行连接,而不是我刚应用的新实例?我究竟做错了什么?为什么新名称没有?

谢谢,

取值

2 个答案:

答案 0 :(得分:7)

这是来自网上书籍:

虽然@@ SERVERNAME函数和SERVERPROPERTY函数的SERVERNAME属性可能返回格式相似的字符串,但信息可能不同。 SERVERNAME属性会自动报告计算机网络名称中的更改。

相反,@@ SERVERNAME不会报告此类更改。 @@ SERVERNAME报告使用sp_addserver或sp_dropserver存储过程对本地服务器名称所做的更改。

第一条评论是正确的。您必须重新安装SQL才能将其更改为默认实例。

每个BOL如果您使用命名实例更改计算机名称,则必须按如下方式使用:

sp_dropserver <'old_name\instancename'>
GO
sp_addserver <'new_name\instancename'>, local
GO

答案 1 :(得分:3)

是的,重新启动SQL服务器。现在两个名字都显示正确。

SELECT @@SERVERNAME 

SELECT serverproperty('ServerName')