大家常常听说过数据库的 备份 和 还原 ,比如 Sql Server , Oracel 等数据库的 备份 和 还原 。 OK ,我们这一节讨论 Active Directory 数据库的 备份 和 还原 。 Active Directory 数据库的 备份 在企业应用环境中是个非常重要的工作,无论是单域单域控的
大家常常听说过数据库的备份和还原,比如Sql Server ,Oracel等数据库的备份和还原。OK,我们这一节讨论Active Directory数据库的备份和还原。
Active Directory数据库的备份在企业应用环境中是个非常重要的工作,无论是单域单域控的,单域多域控的,还是多域多域控的环境,Active Directory数据库的备份都是要经常做的工作。备份的好处如下:
1, 灾难恢复。对于单域单域控的企业环境,如果Active Directory生病了,比如误操作,磁盘等的原因,如果我们备份过Active Directory数据库,恢复起来非常的容易。当然对于单域多域控的环境和多域多域控的环境是同样的道理,步骤相对麻烦而已。
2, 转移数据。如果我们要在当前域搭建一台额外域控制器,无论这台新的额外域控制器是和主域控制器在一个地理位置,还是在不同的地理位置。通过备份来转移数据是非常时效的方法。
本节的实验环境,如下图
一,备份前的准备 了解Active Directory的工作过程 我们与活动目录交互时,比如在活动目录中添加、更新、删除和移除对象等修改操作,在业务逻辑上其实是采用了事务的机制来完成的。而事务我们知道遵从ACID原则,脱离ACID原则的事务是不存在的。事务在关系数据库中处处可见,当然在企业应用系统中也很常见。一个事务中的一系列操作要么全部都做成功,要么全部都不做。 活动目录中的数据修改时,会按照下面这个过程完成:
步骤如下: 1, 我们向活动目录提交一个写请求 2, AD根据写请求初始化一个事务 3, 接着AD在内存中缓存该事务, 4, 同时AD把该事务操作写到事务日志文件edb.log中 5, 接着AD把事务操作结果写到磁盘上的数据库文件ntds.dit 6, 接着AD对比数据库文件和日志文件以确保事务被提交 7, 最后AD更新检查点文件edb.chk 了解Active Directory数据库文件的作用
1, ntds.dit文件就是传说中的Active Directory数据库文件。它存储了该DC中所有的AD对象数据。扩展名dit的意思是directory information tree,意思是目录信息树。
2, edb.log是一个事务日志文件。它保存着Active Directory的变动记录。也就是说edb.log是Active Directory变动的记录文件。默认的事务日志名是edb.log,每个事务日志的文件大小为10MB,当文件edb.log被写满时它被重命名为edbxxxx.log,从重新建立一个变动记录文件,同时不需要的旧记录文件会被自动删除。其中xxxx是文件编号,从0001开始,逐渐递增。AD在将变动数据写入到内存的同时,AD也会将变动数据写到变动记录文件内(edb.log)。如果系统不正常关机,导致内存尚未写入到Active Directory的数据丢失时,当再开机后,系统便可以根据检查点文件edb.chk来得知要从变动记录文件edb.log内的哪个数据开始,利用变动记录文件edb.log内的变动记录,将关机前尚未写入Active Directory数据库的变动记录继续写入。
3, edb.chk是“检查点”文件,每次AD将内存中的数据写到AD时,都会更新deb.chk文件。以便记录与内存相对用的变动记录文件edb.log内有哪一些数据已经写入到Active Director数据库内。该文件用来维护内存和磁盘上的Active Directory数据库之间的数据的指针。该文件的指针指出了日志文件edb.log的起始点,如果修改有错误,就从该起始点开始覆盖信息。
4, res1.log和res2.log是两个预留的事务日志文件,每个大小为10MB。当磁盘空间不够时或耗尽时,变是这2个文件的应用场景。
我们要备份什么?
备份Active Directory数据库,其实就是要备份Active Directory数据库文件和SYSVOL文件夹,而Active Directory数据库文件和SYSVOL文件夹都属于系统状态文件(system state),所以我们通过备份系统状态文件来备份Active Directory数据库。
二,备份Active Directory数据库
备份前首先在域控制器上创建一个北京分公司OU和在北京分公司OU下的2个用户账户bob和terry,同时在客户端client1利用bob登录域。如下图
然后我们开始备份: 步骤1:在server1上,单击开始->运行,输入ntbcakup,回车。如下图 步骤2:在“备份和还原向导”对话框中选择“高级模式”,然后单击“下一步”按钮。我个人比较喜欢这种模式,其实和向导模式是一样的,根据你自己的情况选择。如下图
步骤3:选择“备份”标签,如下图 步骤4:选择System State,单击“浏览”按钮选择备份文件存放的文件夹,其中ADbak文件夹是我们自己创建的,而Backup.bkf是备份文件的默认名,当然也可以改名。然后单击“开始备份”按钮,如下图。 步骤5:这里可以选择计划和高级,根据自身企业的情况而定。计划其实就是要创建计划作业,而高级可以选择正常,增量,差异,副本,每日五种备份类型。然后单击“开始备份”按钮,如下图
步骤6:正在备份System State(系统状态)。如下图 步骤7:备份完成,显示了一些备份信息。单击“关闭”按钮,如下图 步骤8:此时我们切换到“还原和管理媒体”标签,就会看到我们刚刚备份的System State。方法是副本备份,如下图 三,Active Directory数据库的还原 我们这里用标准还原来还原Active Directory数据库。标准还原(normal restore)又称为非强制还原(nonauthoritative restore),也称为非验证还原。名字多多。J !标准还原只是单纯的将Active Directory数据库从备份的介质中还原,不过标准还原在单域单域控的中小企业中经常使用,另外在主辅域控当中我们常常先用标准还原再搭配强制性还原来灾难恢复,所以我们这里先演示标准还原。强制性还原和主要还原后续文章会谈。
为了演示标准还原,我们先删除contoso.com域中北京分公司OU。同时也删除这个OU下的2个用户账户bob和terry。然后我们用标准还原把他们找回来。开始吧。 步骤1:重启域控制器server1,然后按F8进入“Windows高级选项菜单”,然后我们选择“目录服务还原模式(只用于Windows域控制器)”。 步骤2:选择操作系统,如下图 步骤3:输入目录服务还原模式的账户和密码,还记我们在安装活动目录时设置那个目录服务还原模式账户密码吗?对,就是那个。 步骤4:开始à运行->输入ntbackup->选择“高级模式”->切换到还原和管理媒体->选择System State。然后单击“开始还原”,如下图。 步骤5:单击确定。如下图 步骤6:单击确定,当然我们也可以切换到高级看看和制作离线备份文件时还原的高级有什么不同。发现默认第二项这里也选择了。如下面的2副图 步骤7:正在还原,如下图。还原完成后弹出一个还原完成的报告对话框。
最后我们重新启动域控制器server1,发现被删除的北京分公司OU和它下面的bob和terry用户账户已经被还原了。
李涛的技术专栏

InnoDB使用redologs和undologs确保数据一致性和可靠性。1.redologs记录数据页修改,确保崩溃恢复和事务持久性。2.undologs记录数据原始值,支持事务回滚和MVCC。

EXPLAIN命令的关键指标包括type、key、rows和Extra。1)type反映查询的访问类型,值越高效率越高,如const优于ALL。2)key显示使用的索引,NULL表示无索引。3)rows预估扫描行数,影响查询性能。4)Extra提供额外信息,如Usingfilesort提示需要优化。

Usingtemporary在MySQL查询中表示需要创建临时表,常见于使用DISTINCT、GROUPBY或非索引列的ORDERBY。可以通过优化索引和重写查询避免其出现,提升查询性能。具体来说,Usingtemporary出现在EXPLAIN输出中时,意味着MySQL需要创建临时表来处理查询。这通常发生在以下情况:1)使用DISTINCT或GROUPBY时进行去重或分组;2)ORDERBY包含非索引列时进行排序;3)使用复杂的子查询或联接操作。优化方法包括:1)为ORDERBY和GROUPB

MySQL/InnoDB支持四种事务隔离级别:ReadUncommitted、ReadCommitted、RepeatableRead和Serializable。1.ReadUncommitted允许读取未提交数据,可能导致脏读。2.ReadCommitted避免脏读,但可能发生不可重复读。3.RepeatableRead是默认级别,避免脏读和不可重复读,但可能发生幻读。4.Serializable避免所有并发问题,但降低并发性。选择合适的隔离级别需平衡数据一致性和性能需求。

MySQL适合Web应用和内容管理系统,因其开源、高性能和易用性而受欢迎。1)与PostgreSQL相比,MySQL在简单查询和高并发读操作上表现更好。2)相较Oracle,MySQL因开源和低成本更受中小企业青睐。3)对比MicrosoftSQLServer,MySQL更适合跨平台应用。4)与MongoDB不同,MySQL更适用于结构化数据和事务处理。

MySQL索引基数对查询性能有显着影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

MySQL学习路径包括基础知识、核心概念、使用示例和优化技巧。1)了解表、行、列、SQL查询等基础概念。2)学习MySQL的定义、工作原理和优势。3)掌握基本CRUD操作和高级用法,如索引和存储过程。4)熟悉常见错误调试和性能优化建议,如合理使用索引和优化查询。通过这些步骤,你将全面掌握MySQL的使用和优化。

MySQL在现实世界的应用包括基础数据库设计和复杂查询优化。1)基本用法:用于存储和管理用户数据,如插入、查询、更新和删除用户信息。2)高级用法:处理复杂业务逻辑,如电子商务平台的订单和库存管理。3)性能优化:通过合理使用索引、分区表和查询缓存来提升性能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6
视觉化网页开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。