ZA303学习笔记四SQL 数据库

官方文档 https://docs.microsoft.com/zh-cn/azure/azure-sql/

Azure SQL数据库概念

Azure SQL是一系列智能安全的托管产品,它们使用Azure云中的sQL Server数据库引擎。

  • Azure SQL数据库:支持对智能的托管数据库服务(包括无服务器计算)使用现代云应用程序。云原生paas,公司之前没用过数据库的推荐使用
  • Azure SQL托管实例:大规模地实现现有sQL Server应用程序的现代化,其中智能且完全托管的实例用作服务,且与sQLServer数据库引擎之间的功能奇偶一致性几乎达100%。最适合用于大部分云迁移方案。paas 兼容性不是100% 只是兼容性相较于Azure SQL数据库更高
  • Azure VM中的SQL Server: 轻松地直接迁移sQL Server工作负载,保持100%的SQL Server兼容性和操作系统级别的访问权限。Iaas兼容性最高
    在这里插入图片描述

Azure SQL是基于熟悉的SQL Server引擎构建的,因此你可轻松迁移应用程序,继续使用熟悉的工具、语言和资源。你的技能和经验同样适用于云,因此你可运用已学知识实现更多目标。

使用Azure门户上的查询编辑器来查询数据库内容

SQLserver服务器—db数据库
为SQLserver服务器配置防火墙和虚拟网络设置后就可以查询数据

Azure SQL数据库为数据库提供以下部署选项:

  • 单一数据库:表示完全托管的独立数据库。对于需要单个可靠数据源的新式云应用程序和微服务,可以使用此选项。单个数据库类似于SQL Server数据库引擎中包含的数据库。使用单一数据库,每个数据库相互隔离且可移植。每个数据库都有自身有保证的计算、内存和存储资源量。分配给数据库的资源量专门用于该数据库,而不会与Azure中的其他数据库共享。可以动态扩展和缩减单一数据库资源。单一数据库提供不同的计算、内存和存储资源来满足不同的需求。例如,你可以获得1到80个vCore,或32 GB到4TB的存储。单个数据库的超大规模服务层可用于扩展到100TB,同时提供快速的备份和还原功能。
  • 弹性池:是单一数据库的集合(多个数据库在同一台服务器共享硬件),其中包含一组共享的资源(例如CPU或内存)。可以将单一数据库移入或移出弹性池。 许多业务和应用程序只要能够创建单一数据库并按需调高或调低性能即可,尤其是当使用模式相对容易预测时。无法预测的使用模式可能会使成本管理和业务模式变得困难。弹性池旨在解决此问题。可以向池而不是单个数据库分配性能资源。只需为池的总体性能资源付费,而无需为单一数据库性能付费。
    1:弹性池中的数据库位于单个 Azure SQL 数据库服务器上,并以固定价格共享固定数量的资源。
    2:如果数据库在同一台服务器上,弹性池也在同一台服务器上,可以从池中删除数据库,然后将其添加到另一个池中。

在这里插入图片描述

超大规模服务层

https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tier-hyperscale?view=azuresql

  • 超大规模服务层Hyperscale service tier:是基于 vCore 的购买模型中的最新服务层。此服务层是高度可缩放的存储和计算性能层,它使用 Azure 体系结构来横向扩展 Azure SQL 数据库的存储和计算资源,大大超出常规用途和业务关键服务层的可用限制
  • Hyperscale是一个多层体系结构,具有多级缓存。
  • 超大规模数据库是 SQL 数据库中由超大规模横向扩展存储技术支持的数据库。“超大规模”数据库支持多达 100 TB 的数据,并提供高吞吐量和性能,以及快速扩展以适应工作负荷要求。连接、查询处理、数据库引擎功能等的工作方式与 Azure SQL 数据库中的任何其他数据库类似。
弹性池

使用弹性池可以分配池中所有数据库共享的资源。可以新建数据库,或者将现有单一数据库移到资源池中,以最大限度地使用资源和节省资金。此选项还可让你动态扩展和缩减弹性池资源。
在这里插入图片描述

SQL数据库提供以下购买模型:

  • 基于虚拟核心的采购模式 (vCore),可以从预配的计算层和无服务器计算层中进行选择。
    预配的计算层:为工作负荷选择确切的计算资源。预配计算层级中单位时间的vCore单位价格低于无服务器计算层级中的相应价格。
  • 无服务器计算层(serverless):Azure 会根据无服务器层中的工作负荷活动自动暂停和恢复数据库。在暂停期间,Azure 不会向你收取计算资源费用。可根据工作负荷需求自动缩放计算,并按每秒使用的计算量计费。此外,当仅对存储计费时,无服务器计算层将在非活动期间自动暂停数据库;当活动返回时,它将自动恢复数据库。
  • 数据库事务单元 (DTU) 将计算 (CPU)、 内存 、 IOPS 组合在一起。不能增加单个资源,如内存或 CPU。但是,可以增加 DTU 的数量,以增加 Azure 数据库的资源。此解决方案适用于寻求具有平衡 CPU、内存和 IO 的预定义资源配置的客户端。
    在这里插入图片描述

Azure 混合权益Hybrid Benefit

https://learn.microsoft.com/en-us/azure/azure-sql/azure-hybrid-benefit?view=azuresql&tabs=azure-portal

  • Azure 混合权益允许你在 Azure SQL 数据库和 Azure SQL 托管实例上将现有许可证换成折扣价。通过在 Azure 上使用启用了软件保障的 SQL Server 许可证,可以在 SQL 数据库和 SQL 托管实例上节省最多 30% 或更多。
  • 借助 Azure 混合权益,只需使用现有的 SQL Server 许可证为 SQL Server 数据库引擎本身(基本计算定价)为基础 Azure 基础结构付费。如果不使用 Azure 混合权益,则需要为底层基础结构和 SQL Server 许可证(“包含许可证”定价)付费。
  • 对于 Azure SQL 数据库,仅当使用基于 vCore 的购买模型的预配计算层时,Azure 混合权益才可用。Azure 混合权益不适用于基于 DTU 的购买模型或无服务器计算层。

配置Azure SQL 数据库的高可用性

高可用性解决方案旨在确保提交的数据不会因故障而丢失,维护操作不会影响工作负荷,并且数据库不会成为软件体系结构中的单点故障。没有维护时段或停机时间,应该要求您在升级或维护数据库时停止工作负荷。

  • 异地复制:创建只读备份,确保数据库主备,主库坏了需要进行切换,数据库的高可用
    在这里插入图片描述

  • 同步到其他数据库,新建数据库,数据同步,数据的高可用
    在这里插入图片描述

基本、标准和常规用途服务层本地冗余可用性

https://learn.microsoft.com/en-us/azure/azure-sql/database/high-availability-sla?view=azuresql&tabs=azure-powershell

“基本”、“标准”和“常规用途”服务层对**无服务器(serverless)**和预配计算使用标准可用性体系结构。下图显示了四个不同的节点,它们具有分离的计算层和存储层。
在这里插入图片描述
标准可用性模型包括两层:

  • 运行进程并仅包含瞬态和缓存数据(如 TempDB、附加 SSD 上的模型数据库以及内存中的计划缓存、缓冲池和列存储池)的无状态计算层。此无状态节点由 Azure 服务结构操作,该服务结构初始化 、控制节点的运行状况,并在必要时执行故障转移到另一个节点。
  • 一个有状态数据层,其中包含存储在 Azure Blob 存储中的数据库文件 (.mdf/.ldf)。Azure Blob 存储具有内置的数据可用性和冗余功能。它保证即使进程崩溃,日志文件或数据文件中的页面中的每个记录都将被保留。
  • 每当升级数据库引擎或操作系统,或者检测到故障时,Azure Service Fabric 都会将无状态进程移动到具有足够可用容量的另一个无状态计算节点。Azure Blob 存储中的数据不受移动的影响,并且数据/日志文件将附加到新初始化的进程。此过程保证 99.99% 的可用性,但繁重的工作负荷在转换期间可能会遇到一些性能下降,因为新进程以冷缓存启动。

常规用途服务层区域冗余可用性

区域冗余配置在 SQL 托管实例中不可用。在 SQL 数据库中,仅当选择了 Gen5 硬件时,此功能才可用。

常规用途服务层的区域冗余配置适用于无服务器(serverless)和预配的计算。此配置利用 Azure 可用性区域在 Azure 区域中的多个物理位置复制数据库。通过选择区域冗余,可以使新的和现有的无服务器和预配的通用单一数据库和弹性池能够灵活应对更大的故障集,包括灾难性的数据中心中断,而无需对应用程序逻辑进行任何更改。

常规用途层的区域冗余配置有两层:

  • 一个有状态数据层,其中包含存储在 ZRS(区域冗余存储)中的数据库文件 (.mdf/.ldf)。使用 ZRS,数据和日志文件将跨三个物理隔离的 Azure 可用性区域同步复制。
  • 运行 sqlservr.exe进程并仅包含瞬态和缓存数据(如 TempDB、附加的 SSD 上的模型数据库以及内存中的计划缓存、缓冲池和列存储池)的无状态计算层。此无状态节点由 Azure 服务结构操作,用于初始化 sqlservr.exe、控制节点的运行状况,并在必要时执行故障转移到另一个节点。对于区域冗余的无服务器和已置备的通用数据库,具有备用容量的节点在其他可用区中随时可用以进行故障转移。

常规用途服务层的高可用性体系结构的区域冗余版本如下图所示:
在这里插入图片描述

活动地域复制Active geo-replication

https://learn.microsoft.com/en-us/azure/azure-sql/database/active-geo-replication-overview?view=azuresql

Azure SQL 托管实例不支持活动异地复制。对于 SQL 托管实例实例的地理故障转移,请使用自动故障转移组

  • 主动地理复制是一项功能,允许您为主数据库创建连续同步的可读辅助数据库。可读的辅助数据库可能与主数据库位于同一Azure区域,或者更常见的情况是位于不同的区域。这种可读的辅助数据库也称为地理辅助数据库或地理副本。
  • 主动地理复制设计为一种业务连续性解决方案,允许您在发生区域灾难或大规模停机时对单个数据库执行快速灾难恢复。设置地理复制后,您可以启动到不同Azure区域中的地理辅助服务器的地理故障转移。地理故障转移由应用程序以编程方式启动,或由用户手动启动。
    在这里插入图片描述

透明数据加密 (TDE)

官网
https://docs.microsoft.com/en-us/azure/security/fundamentals/encryption-atrest

  • 静态加密是一项常见的安全要求。在 Azure 中,组织可以加密静态数据,而无需自定义密钥管理解决方案的风险或成本。组织可以选择让 Azure 完全管理静态加密。此外,组织还可以选择各种选项来密切管理加密或加密密钥。
  • Azure SQL 数据库客户启用 TDE 密钥后,将自动为他们创建和管理 TDE 密钥。可以在数据库和服务器级别启用静态加密。

加密是用于保护数据机密性的数据的安全编码。

Azure 中的静态加密设计使用对称加密,根据一个简单的概念模型快速加密和解密大量数据:

  • 对称加密密钥用于在数据写入存储时对其进行加密。
  • 相同的加密密钥用于解密该数据,因为它已准备好在内存中使用。
  • 数据可以分区,并且每个分区可以使用不同的键。
  • 密钥必须存储在具有基于身份的访问控制和审核策略的安全位置。存储在安全位置之外的数据加密密钥使用保存在安全位置的密钥加密密钥进行加密

Azure SQL 托管实例 Managed Instance

  • Azure SQL 托管实例专为希望将大量应用从本地或 IaaS、自建或 ISV 提供的环境迁移到完全托管的 PaaS 云环境的客户而设计,迁移工作量尽可能低。使用完全自动化的 Azure 数据迁移服务,客户可以将其现有 SQL Server 实例直接迁移并转移到 SQL 托管实例,从而提供与 SQL Server 的兼容性,并通过本机 VNet 支持完全隔离客户实例。
  • 通过软件保障,您可以使用Azure Hybrid Benefit for SQL Server在SQL托管实例上以折扣价交换现有许可证。对于需要高安全性和丰富可编程性表面的SQL Server实例,SQL托管实例是云中的最佳迁移目标。
  • SQL MI创建弹性池不能从门户,只支持Azure CLI和power shell
  • 不支持用户启用的备份

将 SQL 托管实例添加到故障转移组(instance failover group)

官网:
https://docs.microsoft.com/en-us/azure/azure-sql/managed-instance/failover-group-add-instance-tutorial?tabs=azure-portal#4—create-a-primary-gateway

前置条件

  • 为 SQL 托管实例设置故障转移组的先决条件来配置资源
  • 创建托管实例可能需要花费大量时间。可能需要几个小时才能完成。
  • 参与故障转移组的托管实例需要 Azure ExpressRoute、全局 VNet 对等互连或两个连接的 VPN 网关。

创建资源组和主托管实例

  • 创建主托管实例
    1: 创建辅助虚拟网络:在Azure 门户中,导航到资源组,然后为主实例选择虚拟网络。
    2:选择"设置"下的"子网",并记下"地址范围"。辅助托管实例的虚拟网络的子网地址范围不能与此重叠。
  • 创建辅助虚拟网络
  • 创建辅助托管实例
    1: 具有与主托管实例不同的子网和 IP 范围。
    2: 在"其他设置"选项卡下,对于"异地复制",选择"是"以用作故障转移辅助服务器。从下拉列表中选择主托管实例。
    3:请确保排序规则和时区与主托管实例的排序规则和时区匹配。本教程中创建的主托管实例使用排序规则和时区的默认值。
  • 创建主网关
    1:对于要参与故障转移组的两个托管实例,必须在两个托管实例的虚拟网络之间配置 ExpressRoute 或网关,以允许网络通信
    2:创建两个 VPN 网关并连接它们
  • 创建辅助网关
  • 连接网关
  • 创建故障转移组
  • 测试故障转移
  • 清理资源

动态数据屏蔽Dynamic data masking

  • Azure SQL Database、Azure SQL Managed Instance 和 Azure Synapse Analytics 支持动态数据掩码。动态数据屏蔽通过对非特权用户屏蔽敏感数据来限制敏感数据的泄露。
  • 动态数据屏蔽使客户能够指定要显示多少敏感数据,同时对应用程序层的影响最小,从而帮助防止对敏感数据进行未经授权的访问。它是一种基于策略的安全功能,可隐藏对指定数据库字段的查询结果集中的敏感数据,同时不更改数据库中的数据。

SQL数据库审计Azure SQL Auditing

https://learn.microsoft.com/en-us/azure/azure-sql/database/auditing-overview?view=azuresql#auditing-limitations

  • Azure SQL 数据库和 Azure Synapse Analytics 的审核会跟踪数据库事件并将它们写入 Azure 存储帐户、Log Analytics 工作区或事件中心的审核日志。
  • 审计还包括:
    1:帮助您维护法规遵从性,了解数据库活动,并深入了解可能表明业务问题或可疑安全违规的差异和异常。
    2:支持并促进遵守法规遵从性标准,尽管它不能保证法规遵从性。
  • 可以使用 SQL 数据库审核执行以下操作:
    1:保留所选事件的审核跟踪。您可以定义要审核的数据库操作的类别。
    2:报告数据库活动。您可以使用预配置的报告和仪表板快速开始使用活动和事件报告。
    3:分析报告。您可以找到可疑事件、异常活动和趋势。

支持使用BlockBlobStorage的高级存储。支持标准存储。但是,要审核写入VNet或防火墙后面的存储帐户,您必须具有通用v2存储帐户。如果您有一个通用v1或blob存储帐户,请升级到通用v2存储帐户。

  • 支持使用Block Blob Storage的所有类型的标准存储帐户和高级存储帐户的分层命名空间。

SQL Managed Instance (SQL 托管实例)
自动故障转移组功能允许您管理服务器上的一组数据库或托管实例中的所有数据库到另一个区域的复制和故障转移。 它是现有活动异地复制功能之上的声明性抽象,旨在简化异地复制数据库的大规模部署和管理。 您可以手动启动异地故障转移,也可以根据用户定义的策略将其委托给 Azure 服务。 后一个选择允许您在发生灾难性故障或其他导致主要区域中 SQL 数据库或 SQL 托管实例可用性全部或部分丢失的意外事件后,自动恢复次要区域中的多个相关数据库。

SQL托管实例在两个服务层中可用:

通用:设计用于具有典型性能和I/O延迟要求的应用程序。
Business critical 业务关键型:专为具有低I/O延迟要求和底层维护操作对工作负载影响最小的应用程序而设计。

Azure sql server and sql MI长期保留Long-term retention

  • 许多应用程序具有法规、符合性或其他业务目的,要求将数据库备份保留超过 Azure SQL 数据库和 Azure SQL 托管实例自动备份提供的 7-35 天。通过使用长期保留 (LTR) 功能,可以将指定的 SQL 数据库和 SQL 托管实例完整备份存储在 Azure Blob 存储中,并配置了长达 10 年的冗余。然后,可以将 LTR 备份还原为新数据库。
  • 可以为 Azure SQL 数据库和 SQL 托管实例启用长期保留。
  • 长期备份保留 (LTR) 利用自动创建的完整数据库备份来启用时间点还原 (PITR)。如果配置了 LTR 策略,则会将这些备份复制到不同的 Blob 以进行长期存储。该副本是后台作业,对数据库工作负荷没有性能影响。SQL 数据库中每个数据库的 LTR 策略还可以指定创建 LTR 备份的频率。
  • 若要启用 LTR,可以使用以下四个参数的组合来定义策略:每周备份保留期 (W)、每月备份保留期 (M)、年度备份保留期 (Y) 和一年中的一周(每年的一周)。如果指定 W,则每周将一个备份复制到长期存储。如果指定 M,则每个月的第一个备份将复制到长期存储中。如果指定 Y,则“年周”指定的一周内的一个备份将复制到长期存储中。如果配置策略时指定的“一年周”已过去,则将在下一年创建第一个 LTR 备份。每个备份都将根据创建 LTR 备份时配置的策略参数保存在长期存储中。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值