数据库技术专家
SSMS可以提供可以查看正在执行的计划。live query plan可以查看一个查询的执行过程,从一个查询计划操作到另外一个查询计划操作。live query plan提供了整体的查询运行进度和操作级别的执行统计信息,比如产生的行数,执行的时间,操作进度等等。
什么是系统版本的Temporal Table 系统版本的Temporal Table是可以保存历史修改数据并且可以简单的指定时间分析的用户表。 这个Temporal Table就是系统版本的Temporal Table因为每行的有效期由系统托管的。
使用Query Store监控性能 SQL Server Query Store特性可以让你看到查询计划选择和性能。简化了性能调优,可以快速的发现因为查询计划的选择导致的性能的差别。Query Store自动历史的查询,计划和运行时的统计信息,保留这些可以用来检查。
存储格式修改 在2014,2016中修改了内存优化表的存储格式,新的格式是序列的并且the database is restarted once during database recovery. ALTER TABLE日志优化,并且可以并发运行 当你在内存优化表执行ALTER TABLE,只有元数据的修改会被写入日志。
SQL Server 2016新特性:列存储索引新特性 行存储表可以有一个可更新的列存储索引,之前非聚集的列存储索引是只读的。 非聚集的列存储索引支持筛选条件。 在内存优化表中可以有一个列存储索引,可以在创建表的时候创建,也可以在之后的alter table语句上创建。
新的 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 用来配置数据库级别配置。 这个语句可以配置每个数据库的配置: 清理过程cache 设置MAXDOP参数,可以配置primary和secondary 设置查询优化器的评估模式 启动和关闭数据...
SQL Server In-Memory OLTP Internals for SQL Server 2016 这份白皮书是在上一份《SQL Server In-Memory OLTP Internals Overview》基础上的,很多东西都是一样的不再介绍,只介绍不相同的部分。
右击还存在的订阅,生成脚本,有个过程sp_addpullsubscription_agent 执行,发现报错说distribution agent 已经存在 执行: UPDATE dbo.MSreplication_subscriptions SET distribution_agent =N...
[问题] 带过滤的复制项UI操作导致订阅全部初始化,但是想不全部初始化,只初始化对应的复制项 [解决] 1.如果修改过滤项,可以直接执行,然后生成快照: exec sp_articlefilter @publication = N'testdb', @article = N'tablea' ...
脚本有2个部分,1.证书交换,2.配置镜像 只实现了简答的功能,比如镜像证书配置的检查,容错目前都还没有做 1.证书交换 $SourceServer='192.168.5.7' $SourcePath='d:\SQL Backups' $SourceUser='adminator' $Source...
背景: SQL Server 2008 R2 10.50.1600 没有设置页面文件,内存为64G,数据库分配50G cpu使用占了50%以上,平时只有10-20%,某台服务器“RESOURCE MONITOR“CPU占用特别高。
背景: 开始并不在意索引视图会导致死锁。 问题: 出现死锁,update t1 表尽然发现会去锁t2表从而导致死锁。 原因: 是因为索引视图才会导致死锁问题。单从update的执行计划也能看出问题 例子: create table t1(id int primary key,a ...
Percona TokuDB Percona TokuDB. 1 1. TokuDB说明... 1 2. TokuDB安装... 1 3. 使用TokuDB. 1 3.
从MySQL 5.5迁移到Mariadb 10.1.14 迁移计划如下: 1.备份MySQL 5.5的数据库,对指定库进行备份。 2.还原到Mariadb,然后建立复制。 3.然后就可以愿意啥时候切换就啥时候切换。
AlwaysOn 增强功能 SQL Server 2014 包含针对 AlwaysOn 故障转移群集实例和 AlwaysOn 可用性组的以下增强功能: “添加 Azure 副本向导”简化了用于 AlwaysOn 可用性组的混合解决方案创建。
::= { SORT_IN_TEMPDB = { ON | OFF } | MAXDOP = max_degree_of_parallelism | DATA_COMPRESSION = { NONE | ROW | PAGE | COLUMNSTORE | COLUMNS...
安装期间的设置 为了强化角色分离,不自动在 sysadmin 固定服务器角色中设置 BUILTIN\administrators 和 Local System (NT AUTHORITY\SYSTEM)。
简单的说就是可以让包含用户访问其他数据库,那么来看看如何配置,并且验证一下: USE test CREATE USER up1 WITH PASSWORD = 'zhuzhu' SELECT * FROM sys .
PIDSTAT NAME pidstat对linux任务的统计 语法 pidstat [ -C comm ] [ -d ] [ -h ] [ -I ] [ -l ] [ -p { pid [,...] | SELF | ALL } ] [ -r ] [ -t ] [ -T { TASK | CHILD | ALL } ] [ -u ] [ -V ] [ -w ] [ interval [ count ] ] 描述 pidstat命令用来监控当前被linux内核管理的独立的任务。
数据库角色管理,已经可以使用alter role,create role和drop role。 2012增加了几个ddl语句,可以操作服务级别的角色管理, CREATE SERVER ROLE 用来创建服务级别的role。
转换函数 1.PARSE Parse是把字符串类型转化为想要的类型,看看和convert和cast的区别 SELECT PARSE ('2.111111' AS float ),CAST ('2.
FileTable是基于FILESTREAM的一个特性。有以下一些功能: 一行表示一个文件或者目录。 每行包含以下信息: file_Stream流数据,stream_id标示符(GUID)。
SQL Server 2012新增和改动DMV 系统视图 说明 sys.dm_exec_query_stats (Transact-SQL) 添加了四列,以帮助排除长时间运行的查询所存在的问题。
24 MySQL sys框架 24 MySQL sys框架... 1 24.1 sys框架的前提条件... 1 24.2 使用sys框架... 2 24.3 sys框架进度报告... 3 24.
问题: 在mysql切换datadir后,mysql服务无法启动。出现错误说plugin表无法读取,需要用mysql_upgrade创建。但是其实不是这个问题。 原因: apparmor 会限制程序对文件的访问。
23 MySQL Performance Schema 23 MySQL Performance Schema.. 1 23.1 性能框架快速启动... 3 23.2 性能框架配置... 5 23.
20 分区 20 分区... 1 20.1 MySQL的分区概述... 2 20.2 分区类型... 3 20.2.1 RANGE分区... 3 20.2.2 LIST分区... 5 20.
9. 存储 9. 存储... 1 9.1 存储引擎... 1 9.1.1 WiredTiger存储引擎... 1 9.1.1.1 文档级别并发... 1 9.1.1.2 快照和检查点.
AG排查和监控指南 1. 排查场景 如下表包含了常用排查的场景。根据被分为几个场景类型,比如Configuration,client connectivity,failover和performance。
使用Powershell监控AlwayOn健康 1.基本命令概述 AlwayOn Dashboard是很有用的查看整体AG健康状况的工具。但是这个工具不是用于7*24监控的。如果应用程序夜间发送严重的问题,Dashboard并不会有任何提示。
健康模型扩展 第一部分已经介绍了AlwayOn健康模型的概述。现在是创建一个自己的PBM策略,然后设置为制定的归类。创建这些策略,创建之后修改一下配置,dashboard就会自动评估这些策略。 场景,你有一个异步副本,当被primary落下太多的时候想要在dashboard上显示。
健康模型概述 在成功部署AG之后,跟踪和维护健康状况是很重要的。 1.AG健康模型概述 AG的健康模型是基于策略管理(Policy Based Management PBM)的。如果不熟悉这个特性,可以查看:使用基于策略的管理来管理服务器 PBM的核心是策略,策略有以下部分组成: 1.目标,策略运行在有一组或者一个对象上。
监控AG性能 AG的性能的性能方面,在关键任务数据库上进行语句级维护性能是很重要的。理解AG如何传输日志到secondary副本对评估RTO和RPO,表明AG是否性能不好。 1. 数据同步步骤 为了评估是否有性能问题,首先需要理解同步过程。
AlwaysOn Ring Buffers 一些AlwaysOn的诊断信息可以从SQL Server ring buffers。或者从sys.dm_os_ring_buffers。ring buffer在SQL Server启动的时候被创建,SQL Server系统为内部诊断记录警告。
AlwaysOn等待类型 当排查AlwaysOn延迟,等待统计信息可以在DMV中查看累计的AlwaysOn等待类型。 查看AlwaysOn等待类型 SELECT * FROM sys.dm_os_wait_stats WHERE wait_type LIKE '%hadr%' ORDER BY wait_time_ms DESC 使用一下语句,获取捕获扩展事件,等待类型。
AG扩展事件 SQL Server 2012定义了一些关于AlwaysOn的扩展事件。你可以监控这些扩展事件来帮助诊断AG的根本问题。你也可以使用以下语句查看扩展事件: SELECT * FROM sys.dm_xe_objects WHERE name LIKE '%hadr%' 1.AlwaysOn健康(AlwaysOn_health)会话 AlwaysOn_health扩展会话当你在创建AG并捕获AlwaysOn相关事件的子集。
DMV和系统目录视图 这里主要介绍AlwaysON的动态管理视图,可以用来监控和排查你的AG。 在AlwaysOn Dashboard,你可以简单的配置的GUI显示很多可用副本的DMV和可用数据库通过右击各自的表头并且选择你要加入和隐藏的DMV。
AlwaysOn健康诊断日志 为了监控primary可用副本的健康状况,SQL Server资源DLL使用SQL Server2012的过程sp_server_diagnostics。 SQL Server resource DLL维护了一个专用的连接到SQL Server实例,通过这个SQL Server实例定期的发送健康诊断信息到SQL Server resource DLL。
CLUSTER.LOG(AG) 作为故障转移资源,在SQL Server和windows故障转移集群服务的资源DLL(hadrres.dll)之间有额外的内部交流,DLL无法被SQL Server监控。
SQL Server错误日志(AG) SQL Server错误日志会记录影响AG的时间,比如: 1.和Windows故障转移集群交互 2.可用副本的状态 3.可用数据的状态 4.AG endpoint的状态 5.
排查:Primary上的修改无法在Secondary体现 客户端进程在primary上修改成功,但是在Secondary上却无法看到修改结果。这个case假设你的可用性组有同步的健康问题。很多情况下这个情况会在几分钟之后自动解决。
排查:AG超过RPO 在异步提交的secondary上执行了切换,你可能会发现数据的丢失大于RPO,或者在计算可以忍受的数据都是超过了RPO。 1.通常原因 1.网络延迟太高,网络吞吐量太低,导致Primary的日志堆积 2.磁盘IO瓶颈导致LOG固化速度降低 2. 网络延迟太高,网络吞吐量太低,导致Primary的日志堆积 很多超过RPO的原因是日志发送到secondary副本不够快。
排查:AG超过RTO 自动故障转移或者手动转移之后,没有数据都是,你可能会发现切换时间超过了你的RTO。或者当你评估切换时间同步提交secondary副本,发现超过了你的RTO。 1. 通常原因 通常引起故障转移超过RTO的原因: 1.报表负荷堵塞了Redo线程。
排查AG配置 本文主要用来帮助排查在AG配置时出现的问题,包括,AG功能被禁用,账号配置不正确,数据库镜像endpoint不存在,endpoint不能访问。 Section Description AlwaysOn Availability Groups Is Not Enabled 如果实例没有启动AG特性,实例就不支持任何AG相关的功能 Accounts 在SQL Server在运行的情况下,正确的账号配置 Endpoints 诊断关于实例的镜像endpoint问题。
问题描述: 使用基于快照初始化的事务复制,在上次发布的时候,添加项,执行快照agent,报错,错误信息: Error messages:Message: The subscription status of the object could not be changed.
在使用前先加载库文件 $assemblylist = "Microsoft.SqlServer.Management.Common","Microsoft.SqlServer.Smo","Microsoft.
SQL Server 列存储索引强化 SQL Server 列存储索引强化... 1 1. 概述... 1 2.背景... 2 2.1 索引存储... 2 2.2 缓存和I/O.. 2 2.
SQL Server Column Store Indeses SQL Server Column Store Indeses. 1 1. 概述... 1 2. 索引存储... 2 2.1 列式索引存储... 2 2.2 数据编码和压缩... 3 2.2.1 编码... 3 2.2.2 优化行顺序... 4 2.2.3 压缩... 4 2.3 I/O和Cache. 4 3 查询处理和优化... 4 3.1 查询处理加强... 4 3.2 查询优化 1. 概述 SQL Server 11增加了新特性列存储索引和相关的查询操作符。
事务复制 事务复制的基本机制,在联机文档上也有介绍。 基本原理 如图,主要依靠2个代理,1.日志读取代理(log reader agent),2.分发代理(distribution agent)。
10.全球化 本章主要介绍全球化,包含国际化和本地化,的一些问题: · MySQL在语句中支持的字符集 · 如何为服务配置不同的字符集 · 选择错误信息的语言 · 如何设置服务的时区和每个连接的时区 · 选择本土化的日期和月份名 10.