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

    --原因分析:  
    --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 '实例名与主机名一致,无需修改!'  


若,安装SQL之后 服务器修改主机名,造成不一致,且之前有存在复制发布:

机器名与实例名不同,解决办法

在执行 exec sp_addlinkedserver'DMGZSRV10' 的时候一直提示

消息 15190,级别 16,状态 1,过程 sp_dropserver,第 56 行
仍有对服务器 'DMGZSRV10' 的远程登录或链接登录。

又执行

exec sp_dropserver 'DMGZSRV10', 'droplogins'

这时提示

无法删除服务器 'LC04',因为该服务器用作复制过程中的发布服务器。 (Microsoft SQL Server,错误: 20582)



    下面是解决的方案

原始状态
1、服务器名LC04 MSSQL实例名MSSQLSERVER
2、在LC04上建立了发布,在另一台服务器上订阅或者用SQLServer管理器远程访问LC04上的SQLServer,出现错误:
无法连接到 LC04。
-----------------------------
其他信息:

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) (Microsoft SQL Server,错误: 53)


解决处理

将LC04的计算机名称改为MSSQLSERVER与MSSQL实例名相同
此时状态
SQLServer管理器远程可以访问LC04的数据库,但不能订阅,出现错误:
SQL Server 复制需要有实际的服务器名称才能连接到服务器。不支持通过服务器别名、IP 地址或任何其他备用名称进行连接。请指定实际的服务器名称“LC04”。 (Replication.Utilities)


解决处理

在LC04(现在应当名为MSSQLSERVER)的服务器上,执行如下代码
SELECT @@SERVERNAME ,serverproperty('servername')
发现两个不同,分别为LC04和MSSQLSERVER


执行如下代码

exec sp_droplinkedsrvlogin 'LC04',null
exec sp_dropserver 'LC04','droplogins'
exec sp_addserver 'MSSQLSERVER' , 'LOCAL'

出现错误
无法删除服务器 'LC04',因为该服务器用作复制过程中的发布服务器。 (Microsoft SQL Server,错误: 20582)


解决处理

select * from msdb.dbo.MSdistpublishers
DELETE FROM msdb.dbo.MSdistpublishers
select * from msdb.dbo.MSdistpublishers
exec sp_droplinkedsrvlogin 'LC04',null
exec sp_dropserver 'LC04','droplogins'
exec sp_addserver 'MSSQLSERVER' , 'LOCAL'
重启SQLServer服务


设置发布服务器属性,发现发布服务器的服务器名还是为LC04,造成发布执行错误:
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) (Microsoft SQL Server,错误: 53)


使用 exec sp_helpserver
发现name为repl_distributor的服务器的network_name还是LC04


解决处理


执行exec sp_setnetname 'repl_distributor','MSSQLSERVER'


再次设置发布服务器,并发布,完成


实际上在SQLServer和其他应用中还有可能用到原有的数据库名LC04
可以建立SQLServer的新别名为LC04,这样基本上都可以解决了
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
WindowsXP安装SQL server2000的图解过程 SQL2000安装的时候出现问题:说是SQL服务器组件在此操作系统上不受支持,只有客户端组建才可以安装! 那说明你安装的是企业版的,但是你的系统是XP,你可以安装开发版的sql2000,就不出现这样的问题了 (注意: Windows XP不能装企业版,如果你是使用四合一的安装包,请选择其他版本——比如选开发版!) ★下面将详细介绍如何安装SQL server2000★ ★首先在介绍一下SQL server2000在WindowsXP系统安装的一些要求。 一:确认主机(就是你的计算机)名称是只由大写字母组成; 二:当前所使用的系统帐号不能带有中文; 三:安装包所在文件夹和安装文件夹名称不能带有中文和空格。 ★下面介绍详细的安装过程和所出现问题的解决办法 打开安装包之后出现以下提示框。 请选择 "安装 SQL Server 2000 组件",出现下一个页面, 选择 "安装数据库服务器" ,将出现以下对话框 选择 "下一步",然后选择 "本地计算机" 进行安装 点击下一步,如果出现以下错误信息对话框(一般是在之前你的计算机上安装过SQL server2000组件,才出现) 此时重启计算机不一定有效,在这我介绍一种更为有效的方法(一定行的通) 点击“开始菜单”》点击“运行”》输入“regedit”运行,打开注册表编辑器》查看LOCAL MACHINE/SYSTEM/controlset001/Control/session Manager》在右侧的显示框中找到PendingFileRename0 pertions并将其删掉 。 如果出现以下对话框(则安装没有出现错误) 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。点击下一步,出现下面对话框: 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。在前面选择了“本地计算机”的情况下,一般都以你的系统作为姓和公司,当然你也可以改成其他的信息。点击下一步,出现以下对话框: 点击“是”进入下一步的安装 在 "安装定义"窗口,选择 "服务器和客户端工具" 选项进行安装。我们需要将服务器和客户端同时安装,这样在同一台机器上,我们可以完成相关的所有操作,对于我们学习SQL Server很有用处。如果你已经在其它机器上安装了SQL Server,则可以只安装客户端工具,用于对其它机器上SQL Server的存取。点击下一步,出现"实例" 窗口: 在 "实例" 窗口,选择 "默认" 的实例名称。这时本SQL Server名称将和Windows 2000服务器名称相同。例如笔者的Windows服务器名称是 "Darkroad",则SQL Server字也是 "Darkroad"。SQL Server 2000可以在同一台服务器上安装多个实例,也就是你可以重复安装几次。这时您就需要选择不同的实例名称了。建议将实例限制在 10 个字符之内。实例出现在各种 SQL Server 和系统工具的用户界面中,因此,名称越短越容易读取。另外,实例名称不能是 "Default" 或 "MSSQLServer" 以及SQL Server的保留关键字等。设置好后点击下一步,出现以下对话框: 在 "安装类型" 窗口,选择 "典型" 安装选项,并指定 "目的文件夹"。程序和数据文件的默认安装位置都是 "C:\Program Files\Microsoft SQL Server\"。 (注:数据随着使用时间而不断的增大,故数据文件和日志文件最好不要设置在系统盘(即C盘),选择其他应用盘(例如D盘),我还建议大家把程序文件也不要安装在系统盘,因为系统盘安装太多的软件使计算机的速度减慢,除非一些必要安装在系统盘的软件(例如“Turbo C For Windows 集成实验与学习环境”,其它的软件都安装到其它应用盘)。 点击下一步,继续安装出现下面对话框 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。在 "服务设置" 处,选择 "使用本地系统账户"。如果需要 "使用域用户账户" 的话,请将该用户添加至Windows Server的本机管理员组中。 点击下一步继续安装 在 "身份验证模式" 窗口,请选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。如果您的目的只是为了学习的话,可以将该密码设置为空,以方便登录。如果是真正的应用系统,则千万需要设置和保管好该密码!:)如果需要更高的安全性,则可以选择 "Windows身份验证模式" ,这时就只有Windows Server的本地用户和域用户才能使用SQL Server了。 点击下一步,然后就是几分钟的安装时间,在此过程中,如果出现以下错误对话框: 如果出现上面的对话框,则说明你的计算机没有按要求设置(即计算机要全由大写字母组成的要求),出现此错误,回到计算机里更改计算机即可。 ★更改计算机方法: 在“我的电脑”单击右键,弹出“系统属性”对话框 单击“计算机”,则出现以下对话框 单击“更改”,进入下一步 把计算机改成只由大写字母组成的字,单击“确定”按钮,这样就完成了计算机的更改, (注:如果出现“确定”按钮呈灰色,无法更改计算机的情况,可以用直接按“Enter”键(这招很有用),若还不行,就借用一些软件(如Windows优化大师)进行修改计算机) 如果出现以下对话框(即安装没有出现错误),则安装完毕! 点击“完成”,在开始菜单新增了以下的菜单。如果您是个初学者,就可以先打开 "联机丛书",做一个简单的学习啦

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值