(5.1.5)引擎管理——多服务器管理之中央管理服务器(CMS)

关键词:中央管理服务器,CMS,多服务器管理

中央管理服务器

【1】打开

  视图-》已注册的服务器

    

【2】注册中央管理服务器

  右击中央管理器-》注册中央管理服务器

  

  这里输入IP、主机名都可以

【3】建立文件夹等相关操作

  

【4】新建服务器注册

  什么意思呢,就是建立被管理的服务器连接,在它下面建立的都会被该中央服务器给管理到

  

 

  恶心的地方来了,这里只支持windows身份验证

  这意味着什么

  (1)所有的账户必须都是注册服务器登录的当前windows登录名(比如我这里用sqladmin的windows账户登录winodws 操作系统)

  (2)所有被注册的服务器都需要有这个用户,且在其所在实例上有以该windows账户建立登录名,且构建中央管理服务器时需要用这个windows账户登录操作系统

【5】批量查询

  直接右击中央服务器-》新建查询

  然后会显示下面有多少个已注册服务器连接上来了,如下图,显示已注册服务器的的总数和当前连接数;我注册了2个,就出现了 已连接2

 

    

 

 然后执行SQL查询,这里的操作就可以应用到该中央服务器下的所有注册服务器(注意,该查询执行不包含中央服务器本身的)

  

【6】核验

  查看已注册服务器,成功~~~

     

  查看本机,发现并没有执行,所以我们上面说的这句【(注意,该查询执行不包含中央服务器本身的)】是正确的

    

【最佳实践】

(0)限制与前提

《1》恶心的地方来了,这里只支持windows身份验证

《2》同一个查询下的被分发服务器所有库表必须一样,否则语句分发下去某些服务器就会失败

(1)准备

  

(2)查询

          

 

(3)如果有些执行成功,有些执行失败怎么显示? 

《查询》

 比如,我在 192.168.191.81 上有 test1表,其他机器上没有 test1表

  

那么,我现在把 192.168.191.80 master库上加上 test1表,但表结构不同,看看查询会是什么情况

use master;
create table test1(id int ,id3 int)
insert into test1 values(1,1)

 创建后执行,如下图:

我们可以发现虽然有表之后,两个都执行成功了!

  

 但是表结构不一样,只会显示第一个开始查询的表数据;

  

《增删改》

  我们根据上面的案例可以发现,192.168.191.81 和 192.168.191.80 两个表结构不同,但都有 id3字段,这个时候我们插入一下会怎么样呢?

  如下图:

    我们发现,各个实例反馈各不相同,互不影响;要的就是这个效果

    

(4)可以根据服务器组来分发

如下,我们只在test1组下面注册了一个服务器,右击这个服务器组,然后新建查询,连接的就只是这个服务器组下的所有服务器

        

 

posted @ 2019-06-20 17:53  郭大侠1  阅读(644)  评论(0编辑  收藏  举报