最近在给一个客户部署基于微软TFS的软件生命周期管理平台时,客户要求数据库层实现高可用性,减少因数据库服务器故障影响软件开发进展。

客户现有域是一台搭建在Windows Server 2008上的级别为Windows 2008的企业域。为了符合客户企业域的安全规定,需要在部署数据库高可用性期间使用最低权限,即只赋予操作账户(tfsadmin)在AD目录中用于ALM的组织单元的完全权限。在综合考虑和调用的基础上,我们提出了以下方案,并附上了操作说明。

方案:

1. 在AD域中为ALM创建用于保存计算机和用户的组织单位,并为tfsadmin用户指派这个组织单位的完全控制权限,如下图。

图一:AD域中用于ALM的组织单元

图二:tfsadmin用户对改组织单元具备完全控制的权限

2. 提前在AD域中为客户端和服务器在AD域的ALM组织单元中创建计算机对象。如图一中所示,ALM中的所有客户端和服务器计算机对象,都保存在制定的OU中。

操作指南:

操作指南中的关键点:

1. 使用操作账户domain\tfsamdin创建好故障转移群集(FC01)后,需要将计算机账户FC01$设置为数据库集群计算机所在OU的“创建/删除计算机对象”的权限

在创建数据库AlwaysOn的侦听器过程中,需要在OU中创建一个虚拟的计算机账户,创建过程使用的操作账户实际上是故障转移的计算机账户(FC01$),如果此账户对群集计算机对象所在的OU没有创建计算机的权限,则会出现创建侦听器失败的错误。

(可以通过查看AD控制器上的Event ID为4741的安全日志,得知故障转移计算机账户创建了侦听器计算机账户,如下表)

已创建计算机帐户。

主题:  安全 ID:  TEST\fc01$  帐户名:  fc01$  帐户域:  TEST  登录 ID:  0x13b9ca

新计算机帐户:   安全 ID:  TEST\agroup03$  帐户名:  agroup03$  帐户域:  TEST

属性:  SAM 帐户名: agroup03$  显示名:  -  用户主体名称: -  主目录:  -  主驱动器: -  脚本路径: -  配置文件路径: -  用户工作站: -  上次设置的密码: <从不>  帐户过期: <从不>  主要组 ID: 515  允许委派给: -  旧 UAC 值: 0x0  新 UAC 值: 0x80  用户帐户控制:    '工作站信任帐户' - 已启用  用户参数: -  SID 历史: -  登录时间(以小时计): <未设置值>  DNS 主机名: -  服务主体名称: -

附加信息:  特权  -

2. 下面的所有操作都使用domain\tfsadmin账户

3. 数据引擎的服务账户必须使用域账户(例如domain\sqlservice)

具体操作:

1. 在AD域中创建组织单元结构(图一),并配置domain\tfsadmin对ALM节点具备完全控制权限(图二)

2. 将数据库服务器的所有节点加入到域环境,将domain\tfsadmin账户加入到数据库服务器的本地管理员组中,并设置为数据服务器的管理员角色

( 如果需要将客户端计算机加入到指定OU中,可以使用命令行NETDOM JOIN %computername% /Domain:”OU=ALMCompuers, OU=ALM, DC=test, DC=local” )

3. 在节点一服务器上创建故障转移群集,并使用文件夹共享的方式配置仲裁

图三 - 创建好的故障转移群集

4. 在所有数据库服务器上启用AlwaysOn

图四 – 启用AlwaysOn

5. 在数据库的主节点上创建测试数据库(testdb),并对此数据库做完整备份,同时共享备份目录

6. 创建数据库服务器的高可用性组,在创建高可用性组的过程中,创建侦听器。

图五 – SQL Server AlwaysOn的侦听器

图六 - 与侦听器对应的虚拟机对象

图七 - 创建高可用性过程中自动注册的DNS记录

在权限受限制的AD域环境中部署SQL Server AlwaysOn高可用性的更多相关文章

  1. AD域环境的搭建 基于Server 2008 R2

    AD(Active Directory)即活动目录,微软的基础件.微软的很多产品如:Exchange Server,Lync Server,SharePoint Server,Forefront Se ...

  2. Reporting Service服务SharePoint集成模式安装配置(1、虚拟机+ 2、AD域环境配置)

    研究 Reporting Service SharePoint 集成模式安装有一段时间,最初其实只是想知道Power View 技术是怎么回事,能实现什么效果.(当然也可以通过Excel 配置好 Po ...

  3. AD域环境搭建

    1.安装Windows server服务器 我安装的是Windows server 2012 Standard x64 下载地址:https://pan.baidu.com/s/1dZ_B5JIEit ...

  4. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  5. 64位环境中使用SQL查询excel的方式解决

    --64位环境中使用SQL查询excel的方式 环境: OS:Windows Server 2008 R2 Enterprise MSSQL:Microsoft SQL Server 2008 R2 ...

  6. 如何在多机架(rack)配置环境中部署cassandra节点

    cassandra节点上数据的分布和存储是由系统自动完成的.除了我们要设计好partition key之外,在多机架(rack)配置环境中部署cassandra节点,也需要考虑cassandra分布数 ...

  7. 关于 CDH 环境中部署 Dolphinscheduler 出现 hive-jdbc 包冲突的解决办法

    目前社区小伙伴经常反映在 cdh 环境中部署 Dolphinscheduler 出现 hive 包冲突的问题,报错日志信息如下: [WARN] 2020-04-29 09:55:30.815 org. ...

  8. windows server 2012 AD 域和站点部署系列

    http://blog.csdn.net/ronsarah/article/category/1495599 http://blog.csdn.net/david_520042/article/cat ...

  9. 搭建域环境,安装Exchange Server 2013,复现CVE-2019-1040

    搭建域环境 操作系统: 域控:Windows server 2008 R2    域成员: Windows Server 2012 . Windows 7 对于将要安装成为DC的服务器来讲,其系统配置 ...

随机推荐

  1. 第十九课 golang中的下划线

    在 Golang 里, _ (下划线)是个特殊的标识符. 用在 import 在导包的时候,常见这个用法: 1 2 import _ "net/http/pprof" import ...

  2. Custom Exception in ASP.NET Web API 2 with Custom HttpResponse Message

    A benefit of using ASP.NET Web API is that it can be consumed by any client with the capability of m ...

  3. python socket 详细介绍

    Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 SocketServer, 它提供了服务器中心类,可以简化网络 ...

  4. SOLR对多个(关联)表创建索引

    又两天没写博客,关于SOLR的东西,写了一周了还没写完我也是醉了,毕竟会的东西真不多,周四晚上加班没写,周五晚上公司同事聚会也没写,今天在家,还是把最后的一点写完吧,我会的剩下的也就是一个对多个表创建 ...

  5. Sql2008 全文索引 简明教程

    在SQL Server 中提供了一种名为全文索引的技术,可以大大提高从长字符串里搜索数 据的速度,不用在用LIKE这样低效率的模糊查询了.   下面简明的介绍如何使用Sql2008 全文索引 一.检查 ...

  6. Hyberledger-Fabric 1.00 RPC学习(2)尝试建立一个network

    本文参考:http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html 这里我们学习建立第一个Hyperledger Fa ...

  7. mysql之SQLYog配置

    SQLyog(MySQL图形化开发工具) 安装: 提供的SQLyog软件为免安装版,可直接使用 使用: 输入用户名.密码,点击连接按钮,进行访问MySQL数据库进行操作

  8. Redis搭建(七):Redis的Cluster集群动态增删节点

    一.引言 上一篇文章我们一步一步的教大家搭建了Redis的Cluster集群环境,形成了3个主节点和3个从节点的Cluster的环境.当然,大家可以使用 Cluster info 命令查看Cluste ...

  9. Android开发之获取系统所有进程信息。

    最近在做一个app,有一个进程管理模块用于管理系统中正在运行的进程,并且可以关闭进程进行加速手机的功能,基本把它实现了出来.界面的效果都是自己写的,虽然有BUG,但是基本上能满足需求,后期我会改进BU ...

  10. react-navigation的多次点击重复跳转同一页面、不在堆栈路由页面使用navigation方法的解决思路

    一.react-navigation的初使用 createStackNavigator  ==> createSwitchNavigator  ==>  createAppContaine ...