在权限受限制的AD域环境中部署SQL Server AlwaysOn高可用性
最近在给一个客户部署基于微软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高可用性的更多相关文章
- AD域环境的搭建 基于Server 2008 R2
AD(Active Directory)即活动目录,微软的基础件.微软的很多产品如:Exchange Server,Lync Server,SharePoint Server,Forefront Se ...
- Reporting Service服务SharePoint集成模式安装配置(1、虚拟机+ 2、AD域环境配置)
研究 Reporting Service SharePoint 集成模式安装有一段时间,最初其实只是想知道Power View 技术是怎么回事,能实现什么效果.(当然也可以通过Excel 配置好 Po ...
- AD域环境搭建
1.安装Windows server服务器 我安装的是Windows server 2012 Standard x64 下载地址:https://pan.baidu.com/s/1dZ_B5JIEit ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- 64位环境中使用SQL查询excel的方式解决
--64位环境中使用SQL查询excel的方式 环境: OS:Windows Server 2008 R2 Enterprise MSSQL:Microsoft SQL Server 2008 R2 ...
- 如何在多机架(rack)配置环境中部署cassandra节点
cassandra节点上数据的分布和存储是由系统自动完成的.除了我们要设计好partition key之外,在多机架(rack)配置环境中部署cassandra节点,也需要考虑cassandra分布数 ...
- 关于 CDH 环境中部署 Dolphinscheduler 出现 hive-jdbc 包冲突的解决办法
目前社区小伙伴经常反映在 cdh 环境中部署 Dolphinscheduler 出现 hive 包冲突的问题,报错日志信息如下: [WARN] 2020-04-29 09:55:30.815 org. ...
- windows server 2012 AD 域和站点部署系列
http://blog.csdn.net/ronsarah/article/category/1495599 http://blog.csdn.net/david_520042/article/cat ...
- 搭建域环境,安装Exchange Server 2013,复现CVE-2019-1040
搭建域环境 操作系统: 域控:Windows server 2008 R2 域成员: Windows Server 2012 . Windows 7 对于将要安装成为DC的服务器来讲,其系统配置 ...
随机推荐
- PAT 甲级 1009 Product of Polynomials (25)(25 分)(坑比较多,a可能很大,a也有可能是负数,回头再看看)
1009 Product of Polynomials (25)(25 分) This time, you are supposed to find A*B where A and B are two ...
- 十三.jQuery源码解析之$.type()
512行:出现了一个class2type. 在jQuery中全局搜索这个变量. 这段代码的意思是将一串字符串通过空格分割成数组,并且使用each遍历数组来初始化class2type. 最终的结果应该是 ...
- javascript使用bind指定接收者
var json = { jArray: [], jPush: function (c) { this.jArray.push(c); } } var examp = ["123" ...
- 短信发送接口demo
public class SendValidCode { // 短信发送的接口网关 private static String sendUrl = "******************** ...
- Building a Simple User Interface(创建一个简单的用户界面)
对于一个android 应用程序,用户的图形界面通常是由View(视图)和ViewGroup(视图组)对象构成的层次结构. View(视图)对象通常是按钮或文本输入框这类UI小部件,ViewGroup ...
- pycharm(2016.3.2版本)导入工程文件执行程序时弹出Edit configuration
最近为了能在公司和住所连续写脚本,每写好一部分就压缩打包发送到手机,然后再发送到公司电脑或者自己的笔记本,但是发现重新打开工程文件时有时会弹出Edit configuration配置框,而且每执行一个 ...
- 32_java之TCP和UDP
01网络模型 *A:网络模型 TCP/IP协议中的四层分别是应用层.传输层.网络层和链路层,每层分别负责不同的通信功能,接下来针对这四层进行详细地讲解. 链路层:链路层是用于定义物理传输通道,通常是对 ...
- tesseract-ocr训练方法
tesseract-ocr有2和3两个版本,不同版本训练方法稍有不同. 第3版本的训练方法官版教程在这里:TrainingTesseract3 第2版的训练方法官版教程在这里:TrainingTess ...
- Date 当前程序日期格式 参数设置 DecimalSeparator
日期格式.货币格式等 Date DateFormat DecimalSeparator FormatSettings FormatSettings.DateSeparator='-'; 控制面板的日期 ...
- 带参数setTimeout
/* 功能:修改 window.setTimeout,使之可以传递参数和对象参数 使用方法: window.setTimeout(回调函数,时间,参数1,,参数n) ...