在更改服务器名字的时候,sql server 的 replication 突然就失灵了,这里面有说法。sql server 的命名一般都是 serverName\instanceName。

那么怎样来修改服务器名字,对 sql server 的影响会更小呢?

1 查看冲突项
1.1 检查是否有 remote login 与 linked server. 如果有,当修改服务器名字的时候,会出现错误:Msg 15190.
1.1.1 概念: remote login.
1.1.2 列出 remote login:sys.remote_logins
1.1.3 移除 remote login: sp_dropremotelogin。 这里会有这个错误:


Msg 15185, Level 16, State 1, Procedure sp_dropremotelogin, Line 68 There is no remote user '(null)' mapped to local user '(null)' from the remote

怎么去解决,就是要移除相关 replication 的角色,下面在移除 replication 部分具体讲。
1.1.4 这里有牵扯到 sql server security 的概念:李笑来总结的很到位,问题都是由解决掉一个一个概念开始的。那么 sql server 的安全涉及到哪些概念呢?
我一看这个范畴,马上想到的是,角色驱动:一个角色赋予了各种权限,然后建立独立的账户,把账户归类到各种角色里面,那么某个特定的账户就有相应的权限了。每个账户可以有多个角色,每个角色也可以分配给不同账户。
数据库服务是集成在服务器上的,一个账户想要访问数据库,则必须有两种权限,一是服务器权限,可以访问服务器的某种资源的权限,比如要导出一定的数据到服务器本地磁盘上,这个时候可以将这个账户至少放入到服务器的两种角色中,一是访问服务器的角色,二是具有使用某种资源的角色;第二种权限是访问数据库的权限,仅仅访问数据库还不够,还需要有操作某个数据库的权限,所以数据库层面也应该有这类角色,db_owner, db_admin 之类的。
数据库仅有角色不完整,还必须有特定的人,也就是用户。这个用户就要新建了,并且赋予一定角色,然后还可以和 windows login 对应起来,就成了一个合法访问的账户了。这里如果不使用 windows 账户访问的话,就不必要对应,用这个新建的数据库层的用户也可以访问数据库,因为数据库角色本身就对应到了服务器的一类角色上面。
上面的角色架构纯属于猜想,还需要找到证据。两张表用来记录服务器角色与用户,两张表用来记录数据库层角色与用户,第五张表用来记录服务器角色与数据库角色的对应。第六张表应该还有服务器用户与数据库用户的对应。
安全范畴更专业的术语还有:authentication , authorization. 前者是访问权限,后者是使用权限。角色区分有 server role 和 database role. 用户级别有 windows credential, sql server login, sql server user(principal) 这里 principal 是负责人的意思。所以创建一个 sql server 级别的用户,应该先从 user 开始,再创建 login,再附角色。


1.2 检查是否服务器被用在 replication 中:
1.2.1 检查是不是用了 replication:
sys.database.is_publisher|is_distributor|is_subscribed
1.2.2 如何从 replication 中移出来:
这里涉及到的步骤要根据你当前的 sql server instance 是被用作什么角色来定。比如你是用做 distributor ,那么需要用 T-SQL 来手工移除这个角色也就是用 sp_dropdistributor;如果是用作 publisher, 那么就要用 sp_droppublisher。以此类推。
1.3 检查 reporting service 是不是在使用中:如果有用到 reporting service, 停用它。
1.4 检查是不是用了 database mirroring
1.4.1 使用了 database mirroring 的指标:sys.database_mirroring.mirroring_guid is not null
1.4.2 停用 database mirroring:
alter database set partner off

2、 修改服务器名字
2.1 检查当前服务器名字: @@servername
2.2 sp_dropserver
2.3 sp_addserver
2.4 重启 sql server service,让 @@servername 生效

3 修改后更新 metaData
重新添加第一步里面被删掉的 remote login, 重新建立 replication, 重启 database mirroring, 重启nreporting service.

参考: https://www.mssqltips.com/sqlservertip/2525/steps-to-change-the-server-name-for-a-sql-server-machine/

重命名 sql server 安装服务器相关推荐

  1. sql注册服务器视频教程,服务器sql server安装教程视频

    服务器sql server安装教程视频 [2021-02-18 07:24:18]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(& ...

  2. sql虚拟服务器安装,安装SQL Server 2012服务器

    1. 全部实验内容使用VMware Horizon 7.9 版本桌面虚拟化技术实现. 2. 提供完整的录像.实验手册及全部安装文件,保证你可以从零开始,完整搭建VMware Horizon桌面虚拟化环 ...

  3. 服务器显示以下错误,为通用Excel服务器配置安装SQL2008时,提示“SQL Server安装程序遇到以下错误,错误代码0x84B20001”...

    为通用Excel服务器配置安装SQL2008时,提示"SQL Server安装程序遇到以下错误:操作类型'ExecuteWorkflowAction' 对于 WorkflowIdentity ...

  4. 如何解决 SQL Server 安装程序中的 COM+ 系统配置检查失败问题

    转载自:http://technet.microsoft.com/zh-cn/library/ms143690(SQL.90).aspx SQL Server 2005 联机丛书(2008 年 11 ...

  5. SQL Server安装计划

    包括从排序规则 和命名实例 到日志和数 据文件的分离. SQL Server要 安 装 在 个 群 集 中 吗 ? 可以安装到存储区域网络(Storage Area Networks, SAN)或者 ...

  6. transact-sql_如何使用Transact-SQL创建,配置和删除SQL Server链接服务器

    transact-sql Linked servers allow getting data from a different SQL Server instance using single T-S ...

  7. 怎么修改数据库服务器名字,修改SQL Server数据库服务器名字

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 重新命名服务器的过程非常简单.你所需要做的就是给服务器改名,就像平时为Windows    NT或Windows    2000    Server改名那 ...

  8. 视图的重命名mysql语句_sql语句重命名字段-视图重命名sql语句-数据库重命名sql语句...

    sql语句如何重命名表名和列名? 一.更改数据库名 sp_renamedb 更改数据库的名称. 语法: sp_renamedb [ @dbname = ] ' old_name ' , [ @newn ...

  9. 如何修改sql服务器名,修改SQL Server数据库服务器名字

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 重新命名服务器的过程非常简单.你所需要做的就是给服务器改名,就像平时为Windows    NT或Windows    2000    Server改名那 ...

最新文章

  1. Restful API的设计思路
  2. LeetCode 之 JavaScript 解答第20题 —— 有效的括号(Valid Parentheses)
  3. 【错误记录】Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )
  4. nmap,tcpdump
  5. 我的世界——用一桶水一直灭岩浆一直刷黑曜石
  6. Android TextView 属性设置
  7. strstr和strcchr查找字符串和区别
  8. java学习(4):第一个java程序
  9. 【移植驱动到Linux3.4.2内核之二】LCD,触摸屏,按键,USB等驱动程序的移植心得总结
  10. java 通过id获取html代码_Maven私服安装配置,java通过私服下载代码,并打包后上传到私服(Nexus)...
  11. vs2017常量文本字符串无法转换成char*
  12. 牛客网--牛牛找工作
  13. mysql主从同步搭建和故障排除
  14. 红米note9pro刷鸿蒙,红米Note10Pro:正式说你好,红米Note9Pro:彻底说再见!
  15. RCC_APB2Periph_AFIO时钟一般在什么时候下需要开启?
  16. Python3图片中竖排文字
  17. 需求分析(团队作业3)
  18. TortoiseHg的使用
  19. ORA-00937:不是单组分组函数 ORA-22818:这里不允许出现子查询表达式
  20. Re: 从0开始的DMD学习

热门文章

  1. el-select添加icon阿里巴巴图标以及动态添加到value值 、icon图标颜色更改
  2. IOS 保存图片、视频到自定义相簿
  3. 爬虫——flask框架
  4. python结果四舍五入保留两位小数_Python-根据四舍五入精确保留小数位数的方法...
  5. C/C++财务报销审批
  6. sorl的全量更新与增量更新
  7. 暴力拒绝白嫖,著名开源项目作者删库跑路,数千个应用程序无限输出乱码
  8. go 协程(Goroutine)详解
  9. 数据库-Orcal基础(一)
  10. Intel MKL库在VS中的配置与使用