--原因分析:    
--SERVERPROPERTY 函数的 ServerName 属性与@@SERVERNAME 返回相似的信息。    
--ServerName 属性提供Windows 服务器和实例名称,两者共同构成唯一的服务器实例;    
--@@SERVERNAME 提供当前配置的本地服务器名称。    
    
--如果安装时未更改默认服务器名称,则 ServerName 属性和 @@SERVERNAME 返回相同的信息。如果在安装时已将本地服务器名称从默认服务器名称更改为其他名称,则 @@SERVERNAME 返回更改后的新名称。    
    
--如果安装时未更改默认服务器名称,但是安装完成后更改过Windows 服务器名称,则@@SERVERNAME仍然返回安装时的服务器名称,ServerName 属性返回更改过后的Windows 服务器名称。也就是说,@@SERVERNAME不会报告Windows 服务器名称的更改,ServerName 属性会报告Windows 服务器名称的更改。这就会造成SQL Server默认实例的@@SERVERNAME和ServerName 属性不一致。这种情况在一些应用中常常会出现无法连接的问题,有时我们需要修复这种情况。    
    
--修复方法:(修复方法很简单,直接执行以下语句即可)    
use master      
       go      
       select @@servername    
       select serverproperty('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    
  ELSE    
    PRINT '实例名与主机名一致,无需修改!'    
View Code

相关文章:

  • 2021-08-26
  • 2022-12-23
  • 2022-12-23
  • 2021-10-08
  • 2022-12-23
  • 2021-11-24
猜你喜欢
  • 2021-12-21
  • 2022-12-23
  • 2021-12-26
  • 2022-01-16
  • 2021-07-24
  • 2021-09-25
  • 2021-05-19
相关资源
相似解决方案