摘要:
我们知道数据库中的统计信息的准确性是非常重要的。它会影响执行计划。一直想写一篇关于统计信息影响执行计划的相关博客,但是都卡在如何构造一个合适的例子上,所以一直拖着没有写。巧合,最近在生产环境中遇到这么一个案例,下面对案例中的相关信息做了脱敏处理,有些中间步骤也省略了,只关注核心部分SQL。如下所示,同事反馈一个SQL语句执行很慢。 UPDATE bSET b.[Statu... 阅读全文
随笔档案-2019年03月
SQL Server关于predicate、density、selectivity、cardinality名词浅析
2019-03-27 08:45 by 潇湘隐者, 3413 阅读, 收藏,
摘要:
在SQL Server中,我们要看懂执行计划和统计信息,我们可能需要深刻理解一些关键词,例如密度(Density)、选择性(Selectivity)、谓词(predicate)、基数(Cardinality)。前阵子,对密度和选择性的概念模糊了,刚好看了Query Tuning Fundamentals: Density, Predicates, Selectivity, and Card... 阅读全文
Oracle dblink的连接模式的关系测试总结
2019-03-23 11:44 by 潇湘隐者, 1555 阅读, 收藏,
摘要:
这篇主要介绍一下database link由于连接数据库的方式不同遇到的一些问题,我们知道连接ORACLE服务器的模式一般有两种方式:专用服务器连接(dedicated server)和共享服务器连接(shared server)。这次遇到的案例服务是dblink跟连接ORACLE方式有关,当然本质原因是什么呢,这也是我这篇文章在探讨的问题。下面通过案例来讲述一下具体情况: 我们先来搭建测试环... 阅读全文
MySQL系统变量sql_safe_updates总结
2019-03-21 09:14 by 潇湘隐者, 3329 阅读, 收藏,
摘要:
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 潇湘隐者, 1109 阅读, 收藏,
摘要:
在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 潇湘隐者, 2222 阅读, 收藏,
摘要:
最近测试了一下阿里云RDS for SQL Server,有些设计简直就是反人类,让人不得不吐槽一番。 1:控制台创建数据库时,数据库名不能包含大小字母。 如上截图所示,数据库名称不能包含大写字母,好吧,这个限制我认了。 但是使用“高权限账号”通过SSMS客户端连接数据库,可以创建包含大写字母的数据库。这个是完全不一致的行为? 实在不明白要弄成前后矛盾!。最坑爹的是,如果你用S... 阅读全文
SQL Server作业报错特殊案例
2019-03-08 17:15 by 潇湘隐者, 1708 阅读, 收藏,
摘要:
一个作业报错,报错信息如下,从错误信息根本看不出为什么出错,手工运行作业又成功了。一时不清楚什么原因导致作业出错。 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 潇湘隐者, 1028 阅读, 收藏,
摘要:
昨天在一数据库(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 潇湘隐者, 4136 阅读, 收藏,
摘要:
在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... 阅读全文