“数据库镜像”是一种提高 SQL Server 数据库的可用性的解决方案。镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎 服务器实例上。通常,这些服务器
“数据库镜像”是一种提高 SQL Server 数据库的可用性的解决方案。 镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎 服务器实例上。 通常,这些服务器实例驻留在不同位置的计算机上。 启动数据库上的数据库镜像操作时,在这些服务器实例之间形成一种关系,称为“数据库镜像会话”。其中一个服务器实例使数据库服务于客户端(“主体服务器”), 另一个服务器实例则根据镜像会话的配置和状态,充当热备用或温备用服务器(“镜像服务器”)。 具有自动故障转移功能的高安全性模式要求使用第三个服务器实例,称为“见证服务器”。
主体服务器 (principal server)
在数据库镜像中,是指当前作为主体数据库的数据库所属于的伙伴。
镜像服务器 (mirror server)
在数据库镜像配置中,镜像数据库所在的服务器实例。
见证服务器 (Witness)
仅用于高安全性模式,SQL Server 的一个可选实例,它能使镜像服务器识别何时要启动自动故障转移。 与这两个故障转移伙伴不同的是,见证服务器并不能用于数据库。 见证服务器的唯一角色是支持自动故障转移。
所有数据库镜像会话都只支持一台主体服务器和一台镜像服务器。 下图显示了该配置:
下图显示了包含见证服务器的配置:
更多关于SQL数据库镜像概念请参考Technet网站,链接如下:
https://technet.microsoft.com/zh-cn/library/ms189852(v=sql.110).aspx
*****************************************************************************************************
整个SQL Server 2012 数据库镜像的配置分为以下6个小章节
环境准备
安装数据库功能
启用TCP/IP协议和RemoteDAC
数据库准备工作
数据库镜像配置
功能验证
*****************************************************************************************
1. 环境准备
1.1 本次Demo使用的服务器清单如下:
No. |
主机名 |
服务器角色 |
操作系统 |
IP地址 |
1 |
DC01.huangjh.com |
AD/DNS |
Windows Server 2012 R2 |
192.168.8.8/24 |
2 |
SQL01.huangjh.com |
数据库服务器 (主体) |
Windows Server 2012 R2 SQL Server Enterprise 2012 SP1 |
192.168.8.10/24 |
3 |
SQL02.huangjh.com |
数据库服务器 (镜像) |
Windows Server 2012 R2 SQL Server Enterprise 2012 SP1 |
192.168.8.20/24 |
4 |
SQL03.huangjh.com |
数据库服务器 (见证) |
Windows Server 2012 R2 SQL Server Enterprise 2012 SP1 |
192.168.8.30/24 |
1.2 准备好一台域控服务器和三台数据库服务器,配置网络并加入域huangjh.com
1.3 三台SQL服务器需要开放1433和5022端口,为了实验方便本次Demo直接手动关闭防火墙
2. 安装数据库功能
2.1 在SQL01、SQL02和SQL03三台数据库服务器,打开服务器管理器并根据向导完成.Net framework 3.5的安装
2.2在SQL01、SQL02和SQL03三台数据库服务器分别插入并运行SQL Server 2012 Enterprise SP1安装程序,点击“安装”—“全新SQL Server独立安装或向现有安装添加功能”,根据向导完成SQL功能的安装
2.3 在”功能选择”页面,根据实际应用需求勾选所需的功能,下一步
2.4 在”服务器配置”页面,修改服务账户为域账户(确保该账户密码永不过期),启动类型为”自动”
2.5 根据向导在SQL01、SQL02、SQL03完成数据库功能的成功安装
3. 启用TCP/IP协议和RemoteDAC
3.1 在SQL01、SQL02、SQL03中分别打开SQL Server配置管理器,启用TCP/IP协议
3.2 在SQL01、SQL02、SQL03中分别打开SQL Server Management Studio,右键实例选择“方面”
3.3 选择“外围应用配置器”—将属性“RemoteDACEnabled”的值改为“True”
4. 数据库准备工作(创建、备份和还原数据库)
4.1 在SQL01(主体服务器)右键”数据库”—“新建数据库”
4.2 在”常规“页面输入数据库名称
4.3 在”选项”页面确保恢复模式为”完整“
4.4 右键”DB01”选择”任务“—”备份“
4.5 备份类型选择”完整“,点击”确定“
4.6 备份成功完成后点击”确定“
4.7 选择备份类型为”事务日志“,点击”确定“完成对事务日志的备份
4.8 将备份文件拷贝到镜像服务器SQL02.huangjh.com对应的路径,默认备份路径为
“C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup”
4.9 在镜像服务器SQL02.huangjh.com打开SQL Server Management Studio,右键“数据库”选择“创建数据库”
4.10 输入数据库名称,点击“确定”(此数据库名称必须与SQL01中创建的数据库名称保持一致)
4.11 右键新创建的数据库“DB01”--选择“任务”—“还原”—“数据库”
4.12 选择“设备”,点击右边“…”
4.13 点击”添加”
4.14 选择刚才从SQL01复制的备份文件,点击”确定”
4.15 点击“确定”
4.16 勾选要还原的备份集
4.17 在“选项”页面勾选“覆盖现有数据库”,恢复状态选择“RESTORE WITH NORECOVERY”,取消勾选“还原前进行结尾日志备份”,点击“确定”
4.18 点击“确定”
4.19 数据库DB01显示”正在还原…“
5. 数据库镜像配置
5.1 在主体服务器SQL01.huangjh.com右键“DB01”选择“任务”—“镜像”
5.2 点击“配置安全性”
5.3 下一步
5.4 选择“是”,下一步
5.5 勾选“见证服务器实例”,下一步
5.6 下一步
5.7 点击“浏览更多”
5.8 输入镜像服务器名称SQL02,点击”连接”
5.9 选择镜像服务器实例SQL02,下一步
5.10 同样选择见证服务器实例SQL03,下一步
5.11 输入实例服务账户huangjh\administrator,下一步
5.12 点击“完成”
5.13 成功配置后,点击”关闭”
5.14 点击“开始镜像”
5.15 状态为“已同步:数据库已完全同步”,点击“确定”
5.16 在主体服务器SQL01看到的数据库状态为”主体,正在同步”
5.17 在镜像服务器SQL02看到的数据库状态为”正在还原…”
6. 功能验证
6.1 在主体服务器SQL01右键数据库“DB01”选择“任务”—“启动数据库镜像监视器”
6.2 在此页面可看到数据库镜像的同步状态等
6.3在主体服务器SQL01右键数据库“DB01”选择“属性”
6.4 在选择页“镜像”点击“故障转移”
6.5 点击“是”
6.6 此时主体服务器为SQL02,镜像服务器SQL01,说明手动故障转移成功
6.7 将SQL02(此时的主体服务器)关机,此时自动将主体故障转移到SQL01中
6.8 此时又回到了原先的主体服务器SQL01,镜像服务器SQL02,状态为”没有连接:无法连接镜像服务器实例或见证服务器实例”
6.9 将SQL02开机后恢复正常后,状态为”已同步:数据库已完全同步”,说明自动故障转移成功。
~~~以上是整个SQL Server 2012 数据库镜像配置的分享~~~

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

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

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

MySQL中的SQL命令可以分为DDL、DML、DQL、DCL等类别,用于创建、修改、删除数据库和表,插入、更新、删除数据,以及执行复杂的查询操作。1.基本用法包括CREATETABLE创建表、INSERTINTO插入数据和SELECT查询数据。2.高级用法涉及JOIN进行表联接、子查询和GROUPBY进行数据聚合。3.常见错误如语法错误、数据类型不匹配和权限问题可以通过语法检查、数据类型转换和权限管理来调试。4.性能优化建议包括使用索引、避免全表扫描、优化JOIN操作和使用事务来保证数据一致性

InnoDB通过undolog实现原子性,通过锁机制和MVCC实现一致性和隔离性,通过redolog实现持久性。1)原子性:使用undolog记录原始数据,确保事务可回滚。2)一致性:通过行级锁和MVCC确保数据一致。3)隔离性:支持多种隔离级别,默认使用REPEATABLEREAD。4)持久性:使用redolog记录修改,确保数据持久保存。

MySQL在数据库和编程中的地位非常重要,它是一个开源的关系型数据库管理系统,广泛应用于各种应用场景。1)MySQL提供高效的数据存储、组织和检索功能,支持Web、移动和企业级系统。2)它使用客户端-服务器架构,支持多种存储引擎和索引优化。3)基本用法包括创建表和插入数据,高级用法涉及多表JOIN和复杂查询。4)常见问题如SQL语法错误和性能问题可以通过EXPLAIN命令和慢查询日志调试。5)性能优化方法包括合理使用索引、优化查询和使用缓存,最佳实践包括使用事务和PreparedStatemen

MySQL适合小型和大型企业。1)小型企业可使用MySQL进行基本数据管理,如存储客户信息。2)大型企业可利用MySQL处理海量数据和复杂业务逻辑,优化查询性能和事务处理。

InnoDB通过Next-KeyLocking机制有效防止幻读。1)Next-KeyLocking结合行锁和间隙锁,锁定记录及其间隙,防止新记录插入。2)在实际应用中,通过优化查询和调整隔离级别,可以减少锁竞争,提高并发性能。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

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

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。