zoukankan      html  css  js  c++  java
  • 无法修改SQL Server 服务名称

    之前安装数据库的时候,默认的是机器名A,然后装完后我设置过数据库发布即[复制]里面的[本地发布]

    后来我又把机器名改了,但是平时登陆数据库都是用ip登陆的

    今天我要设置一个新的发布,但是发现只能用实例名登陆,不允许用ip登陆数据库

    但是我之前改过机器名,安装数据库的时候服务名默认就是机器名,但是现在两个已经不一样了

    所以我需要修改实例名,但是发现修改不了,一直提示:

    "仍有对服务器的远程登录或链接登录"

    找来找去,都没有找到谁登陆了! 后来才发现,之前有过本地发布的原因导致的!

    所以我要删除原先的本地发布,但是又删除不了,暂时没找到解决方法(这里只能先改回原来的机器名,然后删除旧的本地发布,然后重新改回新的机器名)

    然后再重新修改服务名称,又报错:

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

    最后找到的解决方法如下: 

    计算机名修改后,SQL Server 服务器名称 与 计算机名不一致。

    1. 检查SQL Server 的服务器名称

    use master 
    go 
    select @@servername
    select serverproperty('servername')

    2.删除所有之前配置的publishers('old_server_name'为之前的服务名)

    select * from msdb.dbo.MSdistpublishers
    DELETE FROM msdb.dbo.MSdistpublishers
    select * from msdb.dbo.MSdistpublishers
    exec sp_droplinkedsrvlogin 'old_server_name',null
    exec sp_dropserver 'old_server_name', 'droplogins'

    执行完后,重启SQL Server服务

    3.配置计算机名与服务名一致

    USE master
     GO
     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

    4.查看服务名
    sp_helpserver

  • 相关阅读:
    课程设计之第一次冲刺---第三天(11.13-11.14)
    课程设计之第一次冲刺---第二天(11.12)
    课程设计之第一阶段冲刺---第一天(11.11)
    团队贡献分分配
    尸体解剖
    回答自己的提问
    第三阶段冲刺--第2天
    第三阶段冲刺--第1天
    对其他组评价的反馈
    《一个程序猿的生命周期》读后感
  • 原文地址:https://www.cnblogs.com/DBArtist/p/server_name.html
Copyright © 2011-2022 走看看