![](https://img-blog.csdnimg.cn/ec2e4b486d9f4e1a9e4c9596fbb87053.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
AZURE SQL DB/DW文章汇总
文章平均质量分 66
AZURE SQL DB/DW文章汇总
zyypjc
怒干一切困难的人和事
展开
-
在Azure SQL DB/Azure托管实例里快速查询各数据库大小以及每个数据库下表的大小
日常工作中对于各个数据库以及每一个数据库中下辖的表的大小,是我们日常监控以及分析问题的重要方向和依据。本文我将用一些例子,简单的介绍下如何查库和表的大小。原创 2023-06-20 17:36:00 · 555 阅读 · 0 评论 -
使用SERVERPROPERTY查看Azure SQL部署版本
我们知道在常规的SQL SERVER中我们会使用SELECT @@VERSION来查看SQL SERVER的版本号,详情参见我之前的SQL SERVER版本查询方式浅谈一文。由于在Azure SQL上版本分类还是和SQL SERVER有些不同的,那本文我将介绍下该如何来判别。原创 2022-12-20 22:53:38 · 396 阅读 · 0 评论 -
为Azure SQLMI(Azure SQL 托管实例) 创建容器并开启审核日志
在前面在Azure上设置存储账户一文中我们已经提到了创建存储账户的过程,那有了存储账户后我们需要在其上同时创建实体容器以便正式收纳我们需要存放的文件信息,本文我将用一个存放AZURE SQL MI(Azure SQL托管实例)的审计日志为例子,做一下详细展开说明。原创 2022-12-19 23:17:56 · 702 阅读 · 0 评论 -
记一次使用T-SQL对Azure SQL 数据库/托管实例中的高 CPU 利用率诊断实例
在Azure SQL数据库/托管实例中,我们通常会使用Azure Portal上的Performance相关选项卡/SSMS工具中的Query Store图形化功能/SSMS中直接执行T-SQL来判断是哪些SQL导致PAAS服务CPU占有率很高。本例是基于我们公司最近双11提前预售活动时遇到的一次性能问题改编,供大家参考和探讨。原创 2022-11-09 16:22:12 · 704 阅读 · 0 评论 -
Azure SQL DB/MI以及SQL SERVER中sys.databases视图介绍
作为数据库相关工作人员,对于当前数据库服务器上所存在的各个数据库都必须有所了解,所以此时sysdatabases视图对于我们来说,就显得十分重要了。原创 2022-08-30 11:20:48 · 1314 阅读 · 0 评论 -
在Azure上使用Portal查出造成SQL注入攻击的语句
最近Azure供应商这边来了几份邮件,都是关于我们云上有托管实例(Azure SQL MI)存在SQL注入攻击(SQL Injection),所以本篇中我将先介绍下SQL注入攻击的基本概念,然后再用一个例子来说明在Portal上如何定位到具体某一句存在SQL注入攻击隐患的语句。...原创 2022-08-29 16:19:24 · 351 阅读 · 0 评论 -
用KUSTO查询语句(KQL)在Azure Data Explorer Database上查询LOG实战
最近公司将一张平时存放在Azure托管实例里的Audit_log表整体迁移到Azure Data Explorer Database来存储。所以本文中我会先整理归纳Azure Data Explorer Database的基本概念,然后将试着用一个简单的例子来实战说明。......原创 2022-08-03 21:51:22 · 938 阅读 · 0 评论 -
浅谈用KUSTO查询语言(KQL)在Azure Synapse Analytics(Azure SQL DW)审计某DB账号的操作记录
在传统SQL SERVER中我们有传统的DMV(Dynamic Management Views,动态管理视图)去探测和监控各种性能或者审计信息,不过在Azure Synapse Analytics中我们会在Portal上日志分析区域(Log Analytics)中,使用KQL语句进行查询。本文会用一个例子来详细说明下大致的操作方式。...原创 2022-08-02 17:17:53 · 454 阅读 · 0 评论 -
Azure Synapse Analytics(Azure SQL DW)上创建用户并赋予权限
不同于操作Azure SQL托管实例和Azure SQL DB可以在SSMS中图形化操作创建用户赋权,在Azure Synapse Analytics中如果要创建新用户且要做赋权操作的话需要使用相应的T-SQL语句进行操作。本文中,我们将以一个完整的例子来说明如何在Azure Synapse Analytics上创建用户并且赋权,另在文末会归纳整理一下Azure Synapse Analytics中不同层次里分别有哪些权限。......原创 2022-08-01 15:55:49 · 559 阅读 · 0 评论 -
Azure Synapse Analytics (Azure SQL DW)性能优化指南(4)——使用结果集缓存优化性能
启用结果集缓存后,专用 SQL 池会在用户数据库中自动缓存查询结果,供重复使用。 这样,后续的查询执行就能直接从持久性缓存中获取结果,因此无需重新计算。 结果集缓存提高了查询性能,并减少了计算资源的用量。 此外,使用缓存结果集的查询不会占用任何并发槽,因此不会计入现有的并发限制。 出于安全考虑,如果访问方用户的数据访问权限与创建缓存结果的用户相同,则访问方用户只能访问缓存的结果。 在数据库和会话级别,结果集缓存默认情况下为“关闭”。......原创 2022-07-26 17:24:42 · 414 阅读 · 0 评论 -
Azure Synapse Analytics(Azure SQL DW) 性能优化指南(3)——使用具体化视图优化性能(下)
承接Azure Synapse Analytics 性能优化指南(2)一文,本文我们将继续探讨Azure Synapse Analytics中使用具体化视图优化性能。原创 2022-07-26 13:42:23 · 281 阅读 · 0 评论 -
Azure Synapse Analytics(Azure SQL DW) 性能优化指南(2)——使用具体化视图优化性能(上)
Azure Synapse 中适用于专用 SQL 池的具体化视图为复杂的分析查询提供一种低维护的方法来加速查询性能,且无需对查询进行任何更改。 本文讨论了使用具体化视图的一般指南。原创 2022-07-26 10:13:43 · 418 阅读 · 0 评论 -
Azure Synapse Analytics (Azure SQL DW)性能优化指南(1)——使用有序聚集列存储索引优化性能
当用户查询专用 SQL 池中的列存储表时,优化器会检查每个段中存储的最小值和最大值。 超出查询谓词边界的段不会从磁盘读取到内存。 如果要读取的段的数目及其总大小较小,则查询性能可以更快。...............原创 2022-07-25 17:22:42 · 419 阅读 · 0 评论 -
Azure Synapse Analytics(Azure SQL DW)中建表语句的注意事项
本文我们来探讨一个看似比较简单但实际上说清楚需要很多门道的操作,即建表语句以及语句中相关参数的含义,接下来让我们来具体看下一些建表基本事项。原创 2022-07-18 14:46:58 · 651 阅读 · 0 评论 -
在Azure Synapse Analytics(专用 SQL 池,Azure SQL DW)中对表进行分区
SQL Server、Azure SQL 数据库和Azure SQL 托管实例支持表和索引分区。 已分区表和索引的数据分为可以分布在数据库中的多个文件组或存储在单个文件组中的单位。 当文件组中存在多个文件时,数据使用比例填充算法跨文件分布。 数据是按水平方式分区的,因此多组行映射到单个的分区。 单个索引或表的所有分区都必须位于同一个数据库中。 对数据进行查询或更新时,表或索引将被视为单个逻辑实体。.........原创 2022-07-16 16:15:51 · 517 阅读 · 0 评论 -
通过 SQL 机器学习运行简单的 Python 脚本
以往我们都是将DB中的数据取出供服务器上的应用程序调用使用。不过现在我们可以直接在Azure SQL托管实例/SQL SERVER 2017(14.x) 及更高版本中导入外部语言脚本直接运行,本文将简单讲述一下如何通过SQL机器学习去运行Python脚本。...原创 2022-07-14 17:38:37 · 947 阅读 · 0 评论 -
SQL Server 和 Azure SQL 索引体系结构和设计指南
SQL Server 和 Azure SQL 索引体系结构和设计指南原创 2022-07-07 11:16:33 · 1284 阅读 · 0 评论 -
Azure数据仓库表中的数据经常使用的三种分布策略(hash、round_robin 或 replicated)简介
目录(一)前言(二)基础概念1. Azure Synapse Analytics概念2. Synapse SQL 体系结构组件3. Azure 存储4. 控制节点5. 计算节点6. 数据移动服务(三)分发(四)三种分布策略1. 哈希分布表2. 轮循分布表3. 复制表 通常情况下,我们在Azure上需要建数仓时会采用先创建Azure SQL Server资源,然后再建立专用 SQL 池(旧称为 "SQL DW"),对应的英文称法分别为Dedicated SQL pool (formerly SQL原创 2022-06-13 00:41:05 · 1335 阅读 · 0 评论 -
关于Azure SQL DW中insert语句的注意事项
我们知道在AZURE中,我们不能简单地把传统的SQL SERVER那套写SQL的方式100%完全套到SQL DW中。在本篇中我就将举一个典型的Insert例子来说明下。1. 在SQL DW中创建一张测试表,包含id , enname , insertdatetime三个字段,字段类型如下:create table test_insert(id int,enname nvarchar(10),insertdatetime datetime)2. 按照传统SQL SERVER原创 2022-05-17 18:27:20 · 374 阅读 · 0 评论 -
在AZURE SQL DB/MI上查询SQL死锁详情
死锁是我们在数据库中常常遇到的问题,本文中我将简单介绍在AZURE SQL DB/MI中如何查询死锁发生的方法。首先先简单介绍下死锁:简单说就是两个或多个事务,同时请求对方正在请求的某个实际应用对象,而导致双方互相等待。下面来看两个死锁的主要表现案列,并附上解决方案案列一:一个用户A 访问表A(锁住了表A),然后又访问表B。另一个用户B 访问表B(锁住了表B),然后企图访问表A,这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B,才能继续,好了他老人家就只好老老实原创 2022-04-30 16:00:19 · 741 阅读 · 0 评论 -
在Azure上使用Log Analytics 工作区监控虚拟机的磁盘使用情况
最近在给公司生产环境上一台虚拟机做监控,发现由于使用的是东二区而非东一区,从而导致无法在警报选项卡中通过来宾(经典)资源范围对磁盘使用空间进行监控。那既然无法通过报警指标操作,我们就选择 Log Analytics 工作区创建报警来监控磁盘的使用空间。我们具体来看下操作步骤:1. 在PORTAL首页上进入监视器资源2. 创建警报3. 选择Log Analytics资源,点击"下一步"4. 选择"日志搜索"5. 在条件框中写...原创 2022-04-09 01:32:16 · 1021 阅读 · 0 评论 -
在AZURE MYSQL生产环境上恢复被误删的百万行级别表(下)
完成了上篇的复制全库工作,本篇中我们将从备库(B)中抽出目标表,然后倒回原库(A)中。1. 在B上做导出操作。2. 导出成功后,在A中进行导入操作。3. 在A库上确认已经完成。...原创 2022-04-02 21:32:07 · 659 阅读 · 0 评论 -
在AZURE MYSQL生产环境上恢复被误删的百万行级别表(上)
这两天遇到一个CASE,在云端的AZURE MYSQL上,有个开发手抖误操作,delete了一张110万行级别的业务表。。。接下来我讲用上下两个篇幅来说明下具体如何执行恢复工作。首先大致描述下思路:首先我会COPY一个AZURE MSYQL全库(假定叫B库)出来,然后再从这个备库里导出这张业务表,最后再讲这张业务表重新倒回原库(假定叫A库)。在上篇中:重点介绍COPY AZURE MYSQL库的过程。在下篇中:重点介绍从备库中导出被删表并导入原库。1. 登入AZURE PORTAL,对原原创 2022-04-02 18:53:00 · 961 阅读 · 0 评论 -
通过WINDOWS TASK SCHEDULE运行POWERSHELL脚本备份AZURE托管实例
大家好,本篇中我将通过一个实际案列,来简要叙述下如果用定时任务将备份AZURE托管实例的POWERSHELL脚本运行起来。1. 首先编写好POWERSHELL脚本,后缀名以ps1作为结尾,此处我存放于本机的C:\azurelogin\AzureRestore.ps1Select-AzureRmSubscription -Tenant "AAAA";##Tenant后面的AAAA为tenantid为你账号登录订阅后所拿到ID,直接使用可以避免每次连接都输入用户名密码Remove-Az.原创 2022-03-27 13:45:10 · 830 阅读 · 0 评论 -
在POWERSHELL中安装AZURE模块
一般在默认情况下,我们打开POWERSHELL后是搜索不到AZURE模块相关命令的。但对于日常WINDOWS AZURE运维来说,除了使用PORTAL,有POWERSHELL作为一把利器管理AZURE RESOURCE还是很有必要的。本篇我们来谈谈如何在POWERSHELL中安装AZURE模块。1. 以管理员身份,打开POWERSHELL,输入如下命令安装AzureRmInstall-Module -Name AzureRM第一次运行的时候会有如下提示,需要安装NuGet provider原创 2022-03-26 01:16:05 · 1377 阅读 · 0 评论 -
给AZURE SQL托管实例配置短信/邮件报警
作为运维人员,我们不可能时时刻刻待在线上对于各种问题进行实时人为监控,所以一个合适的报警体系就是我们所急需的。那在AZURE PORTAL上,如何配置对于托管实例的监控报警呢?接下来我将用CPU过载率超过60%监控报警作为例子来说明下配置方式。1. 进入所在托管实例,点击“警报”2. 点击创建“预警规则”3. 选择信号中的"Average CPU Percentage"4. 聚合类型选择“平均值”,阈值选择60%,聚合粒度选择频率较高的1分钟。5. 点击下一步..原创 2022-03-23 15:45:48 · 502 阅读 · 0 评论 -
通过PORTAL删除数据库
在传统版本的SQL SERVER中,我们删除数据库可以使用T-SQL或者SSMS图形化操作,而在AZURE上的PAAS版本上呢,我们可以用更简单的方式,即使用PORTAL网页版。场景:在实例A上删除ZYY_TEST库。1. 进入PORTAL后找到ZYY_TEST,点击进入。2. 点击“删除”3. 再次输入数据库名,然后点击“删除”......原创 2022-03-19 17:08:32 · 764 阅读 · 0 评论 -
备份恢复AZURE SQL方法(2)——使用POWER SHELL
上一篇中我们提到了使用PORTAL网站去备份恢复数据库的方法,本篇中我们将谈一下如何在命令行环境(即可)原创 2022-03-19 16:44:36 · 810 阅读 · 0 评论 -
备份恢复AZURE SQL方法(1)——使用AZURE PORTAL
传统DBA多数喜欢用T-SQL或者SSMS等图形化工具上的BACKUP/RESTORE工具来操作数据库的备份和恢复。目前在云上其实我们可以用PORTAL很方便的进行操作,以如下案列为例子进行简单说明。要求:从实例A上把ZYY_TEST数据库备份还原到实例B上,也命名为ZYY_TEST(一) 备份过程1. 在PORTAL的A实例上找到ZYY_TEST库2. 点击进入后,再点击还原按钮3. 确认完备份片的名称以及所在托管实例后,点击查看+创建4. 点击创建...原创 2022-03-09 21:51:16 · 451 阅读 · 0 评论 -
AZURE SQL 数据库/托管实例查询当前模式下用户权限汇总
数据库权限的分配与管理,至关重要,不论是云上的PAAS,IAAS或者非云的常规版本数据库原创 2022-03-09 14:11:47 · 440 阅读 · 0 评论 -
使用 DMV 进行监视_监视查询性能_针对 Azure SQL 数据库和 Azure SQL 托管实例进行手动性能优化
本文适用:AZURE SQL数据库,AZURE SQL托管实例SQL是系统和数据库交互的重要方式,日常工作中我们经常被性能糟糕的SQL所干扰。同样在AZURE数据库中,我们依旧面临相同的问题。缓慢或长时间运行的查询会消耗大量系统资源。 本部分演示如何使用动态管理视图来检测一些常见的查询性能问题。查找前 n 个查询下列示例返回了按平均 CPU 时间排名的前五个查询的信息。 该示例根据查询散列收集了查询,以便逻辑上等值的查询能够根据累积资源消耗分组。SELECT TOP 5 query_s原创 2022-03-05 15:49:33 · 401 阅读 · 0 评论 -
使用 DMV 进行监视_最大并发登录数&最大会话数_针对 Azure SQL 数据库和 Azure SQL 托管实例进行手动性能优化
本文适用:AZURE SQL数据库,AZURE SQL托管实例最大并发登录数可以通过分析用户和应用程序模式来了解登录频率。 还可以在测试环境中运行实际负荷,确保不会超过本文所介绍的这样或那样的限制。 无法通过单一查询或动态管理视图 (DMV) 了解并发登录计数或历史记录。如果多个客户端使用相同的连接字符串,该服务也会对每个登录名进行身份验证。 如果 10 个用户使用相同的用户名和密码同时连接到数据库,则会有 10 个并发登录。 此限制仅针对使用登录名进行身份验证的那段时间。 如果这 10 个用户原创 2022-03-04 17:07:24 · 317 阅读 · 0 评论 -
使用 DMV 进行监视_最大并发请求数_针对 Azure SQL 数据库和 Azure SQL 托管实例进行手动性能优化
本文适用:AZURE SQL数据库,AZURE SQL托管实例并发请求数不管对于应用系统还是数据库系统,都是一项非常重要的参考指标,若要查看并发请求数,请在数据库中运行以下 Transact-SQL 查询:SELECT COUNT(*) AS [Concurrent_Requests]FROM sys.dm_exec_requests R;若要分析 SQL Server 数据库的工作负荷,请修改此查询,针对要分析的特定数据库进行筛选。 例如,如果有一个名为 MyDatabase 的本原创 2022-03-04 16:55:25 · 361 阅读 · 0 评论 -
使用 DMV 进行监视_监视资源使用情况(3下)_针对 Azure SQL 数据库和 Azure SQL 托管实例进行手动性能优化
本文适用:AZURE SQL数据库,AZURE SQL托管实例紧接上一篇的内容,本篇我们将再详细展开一些例子。首先对于sys.server_resource_stats,我们先看一下如何公开此视图中的数据:下面的示例演示可以用不同方式使用 sys.resource_stats 目录视图,以获取有关数据库如何使用资源的信息:1. 若要查看数据库 userdb1 过去一周的资源使用情况,可以运行此查询:SELECT *FROM sys.resource_statsWHERE..原创 2022-03-04 16:28:44 · 441 阅读 · 0 评论 -
使用 DMV 进行监视_监视资源使用情况(3上)_针对 Azure SQL 数据库和 Azure SQL 托管实例进行手动性能优化
本文适用:AZURE SQL数据库,AZURE SQL托管实例sys.resource_stats这部分内容将分为上下两篇文章展开!sys.resource_stats比较实用,可以通用于AZURE SQL数据库和AZURE SQL托管实例。帮助我们获取更多信息。master 数据库中的sys.resource_stats视图包含的信息可帮助监视数据库在特定服务层级和计算大小的性能。 每 5 分钟收集一次数据,并且会保留大约 14 天。 此视图可用于数据库使用资源的方式的长期历史分析。..原创 2022-03-03 11:10:12 · 183 阅读 · 0 评论 -
使用 DMV 进行监视_监视资源使用情况(2)_针对 Azure SQL 数据库和 Azure SQL 托管实例进行手动性能优化
本文适用:AZURE SQL托管实例上一篇我们探讨了AZURE SQL数据库中的监视资源方式,本篇中将继续讨论对ZURE SQL托管实例的监视资源使用情况sys.server_resource_stats可以使用sys.server_resource_stats返回 Azure SQL 托管实例的 CPU 使用率、IO 和存储数据。 在五分钟间隔内收集并聚合数据。 其中有一行用于显示每隔 15 秒报告的信息。 返回的数据包括 CPU 使用率、存储大小、IO 利用率和托管实例 SKU。 历史数..原创 2022-03-02 11:18:45 · 282 阅读 · 0 评论 -
使用 DMV 进行监视_监视资源使用情况(1)_针对 Azure SQL 数据库和 Azure SQL 托管实例进行手动性能优化
本文适用:AZURE SQL数据库,AZURE SQL托管实例AZURE SQL数据库/托管实列,由于引入PORTAL等管理工具的概念,所以在监视资源上面我们的手段就比较多样化了,在本篇以及接下来的后续篇章中会详细展开,敬请期待。一般来说,可以使用SQL 数据库 Query Performance Insight监视 Azure SQL 数据库资源使用情况。 对于 Azure SQL 数据库和 Azure SQL 托管实例,可以使用查询存储进行监视。也可以使用以下视图来监视使用情况:..原创 2022-03-01 10:41:07 · 332 阅读 · 0 评论 -
使用 DMV 进行监视_监视连接_针对 Azure SQL 数据库和 Azure SQL 托管实例进行手动性能优化
可以使用sys.dm_exec_connections视图检索与特定服务器和托管实例建立的连接的相关信息和每个连接的详细信息。 此外,sys.dm_exec_sessions视图在检索有关所有活动用户连接和内部任务的信息时非常有用。下面的查询将检索当前连接上的信息:SELECT c.session_id, c.net_transport, c.encrypt_option, c.auth_scheme, s.host_name, s.program_name, s.c...原创 2022-02-28 10:32:09 · 523 阅读 · 0 评论 -
使用 DMV 进行监视_计算数据库和对象大小_针对 Azure SQL 数据库和 Azure SQL 托管实例进行手动性能优化
下面的查询将返回数据库的大小(以 MB 为单位):-- Calculates the size of the database.SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS bigint) * 8192.) / 1024 / 1024 AS DatabaseSizeInMBFROM sys.database_filesWHERE type_desc = 'ROWS';GO下面的查询将返回数据库中各个对象的大小(以 MB 为单位原创 2022-02-28 10:02:24 · 238 阅读 · 0 评论 -
使用 DMV 进行监视_识别内存授予等待性能问题(3)_针对 Azure SQL 数据库和 Azure SQL 托管实例进行手动性能优化
识别最活跃的 10 个内存授予SELECT TOP 10 CONVERT(VARCHAR(30), GETDATE(), 121) AS runtime, r.session_id, r.blocking_session_id, r.cpu_time, r.total_elapsed_time, r.reads, r.writes, r.logical_reads, r.row_co原创 2022-02-27 12:40:44 · 233 阅读 · 0 评论