• 中美研究人员发现新型狗流感病毒 2019-05-29
  • 豫园商城升级改造:这些楼顶可见最好的风景--旅游频道 2019-05-14
  • 头条 —频道 春城壹网 七彩云南 一网天下 2019-05-14
  • 人为某种意识而奋斗是幸福的,获得成绩或成就更幸福。 2019-05-10
  • 【专题】省违反中央八项规定精神和“四风”问题线索举报平台 2019-05-09
  • 确定这是热身赛?吴前拼到大腿抽筋 拆绷带继续干 2019-05-09
  • 应对排放新规 大众德国工厂计划短暂停产 2019-04-26
  • 一师一团土地确权登记颁证工作全面展开 2019-04-26
  • 一语惊坛(5月31日):“我们不一样”,中国向世界许下一个承诺。 2019-04-22
  • 俄罗斯世界杯F组:球迷风采 2019-04-10
  • 5月份国民经济数据发布:中国经济持续稳中向好 2019-04-10
  • 贵州宣讲十九大:干部争当宣讲员 群众心窝暖洋洋 2019-03-25
  • 别空谈,说说看,这个“简单的逻辑关系”是什么关系? 2019-03-25
  • 快过闪电,MIUI 10与MIUI 9速度对比 2019-03-21
  • 泽州去年“免费教育”资金达5211万元 2019-03-19
  • 代码改变世界

    ApexSQL Log中的Redo Script跟原始SQL不一致问题

    2019-06-13 12:13 by 潇湘隐者, 32 阅读, 收藏, 编辑
    摘要: 最近遇到一个误更新数据的问题,使用ApexSQL Log做挖掘事务日志的时候,发现ApexSQL Log生成的Redo Script跟原始SQL是有区别的。它们并不是完全一致的。只是逻辑上等价而已。如下所示,我们做一个测试,如下所示,创建一个表后,并模拟忘记添加条件,出现误删除数据的情况 SELECT * INTO KERRY_TEST FROM SYS.OBJECTS; DELETE F...阅读全文

    MySQL如何找出未提交事务信息

    2019-06-12 23:34 by 潇湘隐者, 66 阅读, 收藏, 编辑
    摘要: 前阵子,我写了一篇博客“ORACLE中能否找到未提交事务的SQL语句”, 那么在MySQL数据库中,我们能否找出未提交事务执行的SQL语句或未提交事务的相关信息呢? 实验验证了一下,如果一个会话(连接)里面有一个未提交事务,然后不做任何操作,那么这个线程处于Sleep状态 mysql> select connection_id() from dual;+-----------------...阅读全文

    ORA-02273: this unique/primary key is referenced by some foreign keys

    2019-06-12 15:22 by 潇湘隐者, 29 阅读, 收藏, 编辑
    摘要: 关于ORA-02273错误,以前还真没有仔细留意过。昨天遇到了这个问题,遂顺便总结一番,以后遇到这类问题就可以直接用下面方案解决。如下所示,我们首先准备一下测试环境。 CREATE TABLE TEST.TEST ( OWNER VARCHAR2(30), OBJECT_ID NUMBER, OBJECT_NAME VARCHAR2(3...阅读全文

    MySQL表的碎片整理和空间回收小结

    2019-05-29 12:24 by 潇湘隐者, 163 阅读, 收藏, 编辑
    摘要: MySQL表碎片化(Table Fragmentation)的原因 关于MySQL中表碎片化(Table Fragmentation)产生的原因,简单总结一下,MySQL Engine不同,碎片化的原因可能也有所差别。这里没有深入理解、分析这些差别。此文仅以InnoDB引擎为主。总结如有不足或错误的地方,敬请指出。 InnoDB表的数据存储在页(page)中,每个页可以存放多条记录。这些记...阅读全文

    ORACLE中能否找到未提交事务的SQL语句

    2019-05-27 12:12 by 潇湘隐者, 141 阅读, 收藏, 编辑
    摘要: 在Oracle数据库中,我们能否找到未提交事务(uncommit transactin)的SQL语句或其他相关信息呢? 关于这个问题,我们先来看看实验测试吧。实践出真知。 首先,我们在会话1(SID=63)中构造一个未提交的事务,如下所: SQL> create table test 2 as 3 select * from dba_objects; Table creat...阅读全文

    SQL Server扩展事件system_health会话总结

    2019-05-23 10:41 by 潇湘隐者, 89 阅读, 收藏, 编辑
    摘要: system_health会话概念 我们知道扩展事件(Extended Events)是从SQL Server 2008开始引入的。system_health会话是SQL Server默认包含的扩展事件会话。该会话在SQL Server数据库引擎启动时自动启动,并且运行时不会对性能造成任何明显影响。该会话收集的系统数据可用于帮助对数据库引擎的性能问题进行故障排除。 该会话收集的信息包括:(...阅读全文

    Oracle关于TX锁的一个有趣的问题

    2019-05-21 15:31 by 潇湘隐者, 105 阅读, 收藏, 编辑
    摘要: 前阵子有一个网友在群里问了一个关于Oracle数据库的TX锁问题,问题原文如下: 请教一个问题: 两个会话执行不同的delete语句,结果都是删除同一个行。先执行的会话里where条件不加索引走全表扫描,表很大,执行很慢;后执行的用where条件直接用rowid进行delete。 Oracle的什么机制使第二个会话执行后一直是等待第一个会话结束的呢。 那么我们先动手实验一下,来看看这个问题...阅读全文

    SQL Server 2017的Linked Server配置触发的bug“Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION”

    2019-05-20 11:41 by 潇湘隐者, 57 阅读, 收藏, 编辑
    摘要: SQL Server 2017的Linked Server配置触发的bug“Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION” 现象描述: 数据库版本:SQL Server 2017 (RTM-CU14) (KB4484710) - 14.0.3076.1 (X64) 出现大量的Dump File文件,如下所示: ...阅读全文

    SQL Server一个特殊的阻塞案例分析2

    2019-05-10 11:08 by 潇湘隐者, 119 阅读, 收藏, 编辑
    摘要: 最近发现一个非常奇怪的阻塞问题,如下截图所示(来自监控工具DPA),会话583被会话1036阻塞,而且阻塞发生在tempdb,被阻塞的SQL如下截图所示,会话等待类型为LCK_M_S 因为DPA工具不好截取全部信息,使用下面SQL语句获取了阻塞会话的详细信息如下,来自Microsoft SQL Server Management Studio - Tran...阅读全文

    SQL Server Sleeping会话占用内存资源浅析?

    2019-05-08 23:08 by 潇湘隐者, 121 阅读, 收藏, 编辑
    摘要: 在SQL Server中,会话的状态有运行(Running)、睡眠(Sleeping)、休眠(Dormant)、Preconnect 等状态,有时候你会在数据库中看到很多会话处于睡眠(Sleeping)状态,那么这些睡眠(Sleeping)状态的会话会消耗CPU、Memory资源吗?如果消耗资源的话,那么sleeping会话具体消耗多少内存资源呢? 另外它会影响数据库性能吗? 首先,处于睡...阅读全文

    SQL Server数据库文件与文件组总结

    2019-04-25 13:38 by 潇湘隐者, 154 阅读, 收藏, 编辑
    摘要: 文件和文件组概念 关于文件与文件组,简单概括如下,详情请参考官方文档“数据库文件和文件组Database Files and Filegroups”或更多相关资料: 数据文件概念: 每个SQL Server数据库至少包含两个作系统文件:一个数据文件(data file)和一个日志文件(log file)。数据文件包含数据和对象,例如表、索引、存储过程和视图....。日志文件包含恢复...阅读全文

    SQL Server使用sp_rename重命名约束注意事项

    2019-04-18 16:12 by 潇湘隐者, 128 阅读, 收藏, 编辑
    摘要: 在SQL Server中,我们可以使用sp_name这个系统存储过程重命名数据库中对象的名称。 此对象可以是表、 索引、 列、 别名,约束等数据类型(具体可以参考官方文档)。上周在使用这个函数重构数据库中约束的时候,遇到了下面错误,如下所示: USE AdventureWorks2014; GO sp_rename 'ErrorLog.DF_ErrorLog_ErrorTime', 'DF...阅读全文

    LogWriter: Operating system error 21(error not found) encountered

    2019-04-15 14:58 by 潇湘隐者, 73 阅读, 收藏, 编辑
    摘要: 一台老旧的数据库服务器(SQL Server 2005)突然报如下错误,而且数据库处于RECOVERY PENDING ,检查错误日志,发现这个错误是突然出现的。没有任何其它人为误操作导致 Date 2019/4/15 10:57:47 Log SQL Server (Archive #1 - 2019/4/15 11:16:00) Source ...阅读全文

    SQL Server的Linked Server支持使用SEQUENCE吗?

    2019-04-11 16:04 by 潇湘隐者, 85 阅读, 收藏, 编辑
    摘要: SQL Server的Linked Server支持使用SEQUENCE吗? SQL Server 2012开始支持序列(SEQUENCE),今天遇到有个同事咨询,能否在LINKED SERVER里面调用SEQENCE, 结果我测试发现不行,但是不管官方文档也好,网上相关资料也罢,都没有说支持,也没有说不支持。 例如官方文档NEXT VALUE FOR (Transact-SQL)中明确表...阅读全文

    SQL Server使用sp_spaceused查看表记录存在不准确的情况

    2019-04-09 09:10 by 潇湘隐者, 191 阅读, 收藏, 编辑
    摘要: 在之前写过一篇博客"关系数据库如何快速查询表的记录数",里面介绍了使用sp_spaceused查看表的记录数是否正确的问题,具体如下: 关于问题3:有多个索引的表,是否记录数会存在不一致的情况? 答案:个人测试以及统计来看,暂时发现多个索引的情况下,sys.partitions中的rows记录数都是一致的。暂时没有发现不一致的情况,当然也不排除有特殊情况。 关于问题5: 分区表的...阅读全文

    SQL Server死锁中的会话隔离级别为序列化(Serializable)实验测试

    2019-04-03 09:36 by 潇湘隐者, 177 阅读, 收藏, 编辑
    摘要: 最近在分析SQL Server的死锁时,发现一个比较有意思的现象,发现死锁当中一个会话的隔离级别为序列化(Serializable),这个是让人比较奇怪的地方,我们知道SQL Server数据库的默认隔离级别为已提交读(READ COMMITTED),除非人为设置事务隔离级别(TRANSACTION ISOLATION LEVEL),否则事务隔离级别会使用数据库的默认隔离级别。在分析了死锁相关的存...阅读全文

    SQL Server统计信息偏差影响表联结方式案例浅析

    2019-03-31 19:54 by 潇湘隐者, 343 阅读, 收藏, 编辑
    摘要: 我们知道数据库中的统计信息的准确性是非常重要的。它会影响执行计划。一直想写一篇关于统计信息影响执行计划的相关博客,但是都卡在如何构造一个合适的例子上,所以一直拖着没有写。巧合,最近在生产环境中遇到这么一个案例,下面对案例中的相关信息做了脱敏处理,有些中间步骤也省略了,只关注核心部分SQL。如下所示,同事反馈一个SQL语句执行很慢。 UPDATE bSET b.[Statu...阅读全文

    SQL Server关于predicate、density、selectivity、cardinality名词浅析

    2019-03-27 08:45 by 潇湘隐者, 124 阅读, 收藏, 编辑
    摘要: 在SQL Server中,我们要看懂执行计划和统计信息,我们可能需要深刻理解一些关键词,例如密度(Density)、选择性(Selectivity)、谓词(predicate)、基数(Cardinality)。前阵子,对密度和选择性的概念模糊了,刚好看了Query Tuning Fundamentals: Density, Predicates, Selectivity, and Card...阅读全文

    Oracle dblink的连接模式的关系测试总结

    2019-03-23 11:44 by 潇湘隐者, 188 阅读, 收藏, 编辑
    摘要: 这篇主要介绍一下database link由于连接数据库的方式不同遇到的一些问题,我们知道连接ORACLE服务器的模式一般有两种方式:专用服务器连接(dedicated server)和共享服务器连接(shared server)。这次遇到的案例服务是dblink跟连接ORACLE方式有关,当然本质原因是什么呢,这也是我这篇文章在探讨的问题。下面通过案例来讲述一下具体情况: 我们先来搭建测试环...阅读全文

    MySQL系统变量sql_safe_updates总结

    2019-03-21 09:14 by 潇湘隐者, 145 阅读, 收藏, 编辑
    摘要: MySQL系统变量sql_safe_updates总结 在MySQL中,系统变量sql_safe_updates是个非常有意思的系统变量,在Oracle和SQL Server中都没有见过这样的参数或功能。如果这个系统变量设置为1的话,意味着update与delete将会受到限制。个人臆测,之所以提供这个功能,一方面是要避免出现更新或删除数据时,忘记添加WHERE条件,导致数据被误更新或误删的情...阅读全文

    SQL Server移除事务日志后sys.master_files依然存在记录问题

    2019-03-19 15:38 by 潇湘隐者, 76 阅读, 收藏, 编辑
    摘要: 在SQL Server中移除了事务日志文件后,使用sys.master_files检查时发现,对应的事务日志文件记录信息依然存在sys.master_files里面,只是状态state_desc为OFFLINE。需要经过一段时间,这条记录在这个系统视图才会消失。 DECLARE @db_name NVARCHAR(32);SET @db_name=N'TEST';SELECT f.dat...阅读全文

    阿里云RDS for SQL Server测试吐槽

    2019-03-12 12:53 by 潇湘隐者, 401 阅读, 收藏, 编辑
    摘要: 最近测试了一下阿里云RDS for SQL Server,有些设计简直就是反人类,让人不得不吐槽一番。 1:控制台创建数据库时,数据库名不能包含大小字母。 如上截图所示,数据库名称不能包含大写字母,好吧,这个限制我认了。 但是使用“高权限账号”通过SSMS客户端连接数据库,可以创建包含大写字母的数据库。这个是完全不一致的行为? 实在不明白要弄成前后矛盾!。最坑爹的是,如果你用S...阅读全文

    SQL Server作业报错特殊案例

    2019-03-08 17:15 by 潇湘隐者, 227 阅读, 收藏, 编辑
    摘要: 一个作业报错,报错信息如下,从错误信息根本看不出为什么出错,手工运行作业又成功了。一时不清楚什么原因导致作业出错。 MessageExecuted as user: NT SERVICE\SQLSERVERAGENT. ...eration. [SQLSTATE 01003] (Message 8153) Mar 6 2019 8:09AM [SQLSTATE 01000] (Mess...阅读全文

    Variable SQLLOGDIR not found

    2019-03-01 12:58 by 潇湘隐者, 114 阅读, 收藏, 编辑
    摘要: 昨天在一数据库(SQL Server 2008 R2 SP3)上部署了一个作业,今天早上收到告警邮件,作业执行报错“Unable to start execution of step 1 (reason: Variable SQLLOGDIR not found). The step failed”,刚开始有点莫名其妙,后面检查发现出错的原因是因为在高级选项(Advanced)里面的output...阅读全文

    ORA-279 signalled during: alter database recover logfile

    2019-03-01 11:47 by 潇湘隐者, 207 阅读, 收藏, 编辑
    摘要: 在RMAN的RECOVER还原过程中,RMAN界面正常,但是检查、刷新告警日志,发现告警日志里面有ORA-279,如下所示: alter database recover logfile '/u06/archivelog/2019_02_19/o1_mf_1_16228_g6oznpbv_.arc'Thu Feb 21 08:49:48 CST 2019Media Recovery Lo...阅读全文

    Linux如何查找文件的创建时间

    2019-02-27 10:32 by 潇湘隐者, 1356 阅读, 收藏, 编辑
    摘要: Linux的文件能否找到文件的创建时间取决于文件系统类型,在ext4之前的早期文件系统中(ext、ext2、ext3),文件的元数据不会记录文件的创建时间,它只会记录访问时间、修改时间、更改时间(状态更改时间)。 Access 是访问时间,文件数据的最后访问时间。例如读文件内容 Modify 是修改时间,文件数据的最后修改时间。例如使用VIM修改文件内容 Change ...阅读全文

    ORA-02266错误的批量生成脚本解决方案

    2019-02-25 17:09 by 潇湘隐者, 118 阅读, 收藏, 编辑
    摘要: ORA-02266: unique/primary keys in table referenced by enabled foreign keys这篇博客是很早之前总结的一篇文章,最近导数时使用TRUNCATE清理主表数据又遇到了这个错误,发现还有其它解决方案: a) 禁用与主表相关的外键约束 b) TRUNCATE TABLE c) 启用那些外键约束。 在实际操作中...阅读全文

    SQL Server查看索引重建、重组索引进度

    2019-02-25 14:57 by 潇湘隐者, 408 阅读, 收藏, 编辑
    摘要: 相信很多SQL Server DBA或开发人员在重建或重组大表索引时,都会相当郁闷,不知道索引重建的进度,这个对于DBA完全是一个黑盒子,对于系统负载非常大的系统或维护窗口较短的系统,你会遇到一些挑战。例如,你创建索引的时候,很多会话被阻塞,你只能取消创建索引的任务。查看这些索引维护操作的进度、预估时间对于我们有较大的意义,需要根据这个做一些决策。下面我们来看看看看如何获取CREATE INDEX...阅读全文

    当心Azure跨区域数据传输产生额外费用

    2019-02-22 10:15 by 潇湘隐者, 172 阅读, 收藏, 编辑
    摘要: 最近同事发现Azure上一台虚拟机的费用环比增加了一部分。后面仔细检查发现费用来自数据传输, 因为这是早期部署的一台Azure虚拟机(Iaas),我们在本地生成备份,然后通过AzCopy到存储账号的Blob里面。但是Azure的虚拟机位于中国东部数据中心,而存储账号位于中国北部数据中心。以前由于数据量小没有留意,这次是由于数据量暴增才被发现的。 如果位于同一区域的数据传输是免费的。但是不通区...阅读全文

    SQL Server 查找统计信息的采样时间与采样比例

    2019-02-18 16:39 by 潇湘隐者, 472 阅读, 收藏, 编辑
    摘要: 有时候我们会遇到,由于统计信息不准确导致优化器生成了一个错误的执行计划(或者这样表达:一个较差的执行计划),从而引起了系统性能问题。那么如果我们怀疑这个错误的执行计划是由于统计信息不准确引起的。那么我们如何判断统计信息不准确呢?当然首先得去查看实际执行计划中,统计信息的相关数据是否与实际情况有较大的出入,下面我们抛开这个大命题,仅仅从统计信息层面去查看统计信息的更新时间,统计信息的采样行数、采样比...阅读全文
  • 中美研究人员发现新型狗流感病毒 2019-05-29
  • 豫园商城升级改造:这些楼顶可见最好的风景--旅游频道 2019-05-14
  • 头条 —频道 春城壹网 七彩云南 一网天下 2019-05-14
  • 人为某种意识而奋斗是幸福的,获得成绩或成就更幸福。 2019-05-10
  • 【专题】省违反中央八项规定精神和“四风”问题线索举报平台 2019-05-09
  • 确定这是热身赛?吴前拼到大腿抽筋 拆绷带继续干 2019-05-09
  • 应对排放新规 大众德国工厂计划短暂停产 2019-04-26
  • 一师一团土地确权登记颁证工作全面展开 2019-04-26
  • 一语惊坛(5月31日):“我们不一样”,中国向世界许下一个承诺。 2019-04-22
  • 俄罗斯世界杯F组:球迷风采 2019-04-10
  • 5月份国民经济数据发布:中国经济持续稳中向好 2019-04-10
  • 贵州宣讲十九大:干部争当宣讲员 群众心窝暖洋洋 2019-03-25
  • 别空谈,说说看,这个“简单的逻辑关系”是什么关系? 2019-03-25
  • 快过闪电,MIUI 10与MIUI 9速度对比 2019-03-21
  • 泽州去年“免费教育”资金达5211万元 2019-03-19
  • 3d开机号彩吧网 一起来捉妖秋容在哪的出现概率高 中国福彩网官方网 宝贝财神送彩金 重庆幸运农场是哪主办 江苏快3今天遗漏数据查询 奥博真人龙虎斗注册 下载破解版皇室战争 逆水寒动漫剧情简介 福彩3d财运图库 五分彩技巧之稳赚不赔 象棋江湖残局 快速时时彩计算方法如下 北京赛车计划 武财神赵公明图片 77期双色球推荐号码