您的位置:首页 > 数据库

SQL Server服务器名称与默认实例名不一致的修复方法

2010-03-04 13:50 309 查看
原因分析:

SERVERPROPERTY 函数的 ServerName 属性与@@SERVERNAME 返回相似的信息。ServerName 属性提供Windows 服务器和实例名称,两者共同构成唯一的服务器实例;@@SERVERNAME 提供当前配置的本地服务器名称。

如果安装时未更改默认服务器名称,则 ServerName 属性和 @@SERVERNAME 返回相同的信息。如果在安装时已将本地服务器名称从默认服务器名称更改为其他名称,则 @@SERVERNAME 返回更改后的新名称。

如果安装时未更改默认服务器名称,但是安装完成后更改过Windows 服务器名称,则@@SERVERNAME仍然返回安装时的服务器名称,ServerName 属性返回更改过后的Windows 服务器名称。也就是说,@@SERVERNAME不会报告Windows 服务器名称的更改,ServerName 属性会报告Windows
服务器名称的更改。这就会造成SQL Server默认实例的@@SERVERNAME和ServerName 属性不一致。这种情况在一些应用中常常会出现无法连接的问题,有时我们需要修复这种情况。

修复方法:

修复方法很简单,直接执行以下语句即可。

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐