代码改变世界

MySQL能否授予查看存储过程定义权限给用户

2019-11-14 15:36 by 潇湘隐者, 65 阅读, 收藏, 编辑
摘要:在其他RDBMS中,可以将查看某个存储过程(PROCEDURE)定义的权限给某个用户,例如在SQL Server中,可以单独将查看ProcedureName定义的权限授予UserA GRANT VIEW DEFINITION ON ProcedureName TO UserA; --用具体的存储过程名和账号替换 那么在MySQL中能否实现这个功能呢? 找了很多资料,没有看到有这方面的功能,... 阅读全文

MySQL解惑——GROUP BY隐式排序

2019-11-11 17:03 by 潇湘隐者, 106 阅读, 收藏, 编辑
摘要:MySQL中GROUP BY隐式排序是什么概念呢? 主要是其它RDBMS没有这样的概念,如果没有认真了解过概念,对这个概念会感觉有点困惑,我们先来看看官方文档的介绍: 官方文档MySQL 5.7 Reference Manual中的“.2.1.14 ORDER BY Optimization”章节有如下介绍: GROUP BY implicitly sorts by default (th... 阅读全文

SQL Server解惑——为什么你的查询结果超出了查询时间范围

2019-11-10 15:40 by 潇湘隐者, 159 阅读, 收藏, 编辑
摘要:废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇到的一个问题,个人设计了一个例子。 USE AdventureWorks2014;GOSELECT * FROM [Person].[Person]WHERE ModifiedDate >= '2008-11-26 00:00:00:000' AND Modif... 阅读全文

MySQL的统计信息学习总结

2019-11-08 16:17 by 潇湘隐者, 322 阅读, 收藏, 编辑
摘要:统计信息概念 MySQL统计信息是指数据库通过采样、统计出来的表、索引的相关信息,例如,表的记录数、聚集索引page个数、字段的Cardinality....。MySQL在生成执行计划时,需要根据索引的统计信息进行估算,计算出最低代价(或者说是最小开销)的执行计划.MySQL支持有限的索引统计信息,因存储引擎不同而统计信息收集的方式也不同. MySQL官方关于统计信息的概念介绍几乎等同于无,不... 阅读全文

[翻译]——MySQL 8.0 Histograms

2019-11-07 23:27 by 潇湘隐者, 51 阅读, 收藏, 编辑
摘要:前言: 本文是对这篇博客MySQL 8.0 Histograms的翻译,翻译如有不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处。谢谢! 英文原文地址:https://lefred.be/content/mysql-8-0-histograms/ 翻译原文地址:https://www.cnblogs.com/kerrycode/p/11817026.html 在... 阅读全文

Centos 7修改hostname浅析

2019-11-06 09:58 by 潇湘隐者, 90 阅读, 收藏, 编辑
摘要:之前写过一篇博客“深入理解Linux修改hostname”,里面总结了RHEL 5.7下面如何修改hostname,当然这篇博客的内容其实也适用于CentOS 6,但是自CentOS 7开始,已经跟CentOS 6已经有很大不同了,一直没有总结CentOS 7下修改hostname的相关知识点,今天恰好遇到了这个问题,处理完后遂总结一下。 CentOS 7中的启动跟CentOS 6有所区别,C... 阅读全文

MySQL的sleep函数的特殊特现象

2019-10-26 11:50 by 潇湘隐者, 122 阅读, 收藏, 编辑
摘要:MySQL中的系统函数sleep,实际应用的场景不多,一般用来做实验测试,昨天在测试的时候,意外发现sleep函数的一个特殊现象。如果在查询语句中使用sleep函数,那么休眠的时间跟返回的记录有关。如下测试所示: mysql> create table test(id int);Query OK, 0 rows affected (0.03 sec) mysql> select *,... 阅读全文

阿里云RDS for SQL Serrver关于权限的一个严重Bug

2019-10-23 23:35 by 潇湘隐者, 144 阅读, 收藏, 编辑
摘要:阿里云RDS for SQL Server的账号管理有不少小Bug,而且有一个很严重的Bug:任何普通账号,都能创建数据库。注意,我这里是说任意普通账号,任意任意普通账号!任意任意普通账号!重要的事情说三遍。 例如,下面测试环境所示,RDS for SQL Server的数据库版本为SQL Server 2016 WEB,我们在控制平台的“账号管理”界面,创建一个数据库账号test2,如下... 阅读全文

SQL Server获取索引创建时间&重建时间&重组时间

2019-10-22 17:09 by 潇湘隐者, 100 阅读, 收藏, 编辑
摘要:之前写过一篇博客“SQL Server中是否可以准确获取最后一次索引重建的时间?“,里面主要讲述了三个问题:我们能否找到索引的创建时间?最后一次索引重建(Index Rebuild)的时间? 最后一次索引重组(INDEX REORGANIZE)的时间呢?,当时得出的结论,答案是我们无法准确的找到索引的创建时间、最后一次索引重组时间,最后一次索引重建的时间。但是最近看到一篇博客“SQL Server... 阅读全文

SQL Server通过条件搜索获取相关的存储过程等对象

2019-10-22 12:05 by 潇湘隐者, 97 阅读, 收藏, 编辑
摘要:在SQL Server中,我们经常遇到一些需求,需要去搜索存储过程(Procedure)、函数(Function)等对象是否包含某个对象或涉及某个对象,例如,我需要查找那些存储过程、函数是否调用了链接服务器(LINKED SERVER),我们如果从sys.sql_modules去搜索的话,如果有多个用户数据库,需要切换数据库,执行多次SQL语句。这些都是非常麻烦的事情。本着“模块化定制脚本,... 阅读全文

MySQL如何进行索引重建操作?

2019-10-20 09:32 by 潇湘隐者, 438 阅读, 收藏, 编辑
摘要:在MySQL数据库中,没有类似于SQL Server数据库或Oracle数据库中索引重建的语法(ALTER INDEX ... REBUILD),那么在MySQL数据库中,是否有什么方式重建索引呢? 在官方文档中"2.11.10 Rebuilding or Repairing Tables or Indexes"中,提到下面三种方式可以Rebuild Index · Dump ... 阅读全文

SQL Server重建索引与重组索引会更新统计信息吗?

2019-10-15 08:58 by 潇湘隐者, 171 阅读, 收藏, 编辑
摘要:在SQL Server中重建索引(Rebuild Index)与重组索引(Reorganize Index)会触发统计信息更新吗? 那么我们先来测试、验证一下: 我们以AdventureWorks2014为测试环境,如下所示: Person.Person表的统计信息最后一次更新为2014-07-17 16:11:31,如下截图所示: DECLARE @table_name NVAR... 阅读全文

Python安装cx_Oracle与操作数据测试小结

2019-10-13 12:40 by 潇湘隐者, 531 阅读, 收藏, 编辑
摘要:这里简单总结一下Python操作Oracle数据库这方面的相关知识。只是简单的整理一下之前的实验和笔记。这里的测试服务器为CentOS Linux release 7.5. 个人实验、测试、采集数据的一台机器。 1:安装cx_Oracle 这里简单介绍一下cx_Oracle,下面一段内容摘自cx_O 阅读全文

SQL Server如何通过Page_ID找到对应的表

2019-09-29 09:56 by 潇湘隐者, 132 阅读, 收藏, 编辑
摘要:其实本篇文章算是翻译Finding a table name from a page ID这篇文章,只是不想直接翻译。用自己的理解叙说出来。算是对上一篇博客"SQL Server如何找出一个表包含的页信息(Page)"的承前启后。 我们如果从日志或dump文件中发现页信息,那么能否通过页信息找到其关联的对象呢? 答案是可以,而且非常简单。如下所示,这个DBCC PAGE的输出信息: ... 阅读全文

SQL Server如何找出一个表包含的页信息(Page)

2019-09-27 12:15 by 潇湘隐者, 197 阅读, 收藏, 编辑
摘要:在SQL Server中,如何找到一张表或某个索引拥有那些页面(page)呢? 有时候,我们在分析和研究(例如,死锁分析)的时候还真有这样的需求,那么如何做呢? SQL Server 2012提供了一个无文档的DMF(sys.dm_db_database_page_allocations)可以实现我们的需求,sys.dm_db_database_page_allocations有下面几个参数: ... 阅读全文

SQL Server查看login所授予的具体权限

2019-09-25 22:58 by 潇湘隐者, 283 阅读, 收藏, 编辑
摘要:在SQL Server数据库中如何查看一个登录名(login)的具体权限呢,如果使用SSMS的UI界面查看登录名的具体权限的话,用户数据库非常多的话,要梳理完它所有的权限,操作又耗时又麻烦,个人十分崇尚简洁、高效的方法,反感那些需要大量手工操作的UI界面操作方式,哪怕就是脚本,如果不能一次搞定,手工多操作几次(例如,切换数据库),都是不可接受的。最近遇到这个需求,就完善了一下之前的脚本get_lo... 阅读全文

YourSQLDba的共享路径备份遭遇重启问题

2019-09-25 14:32 by 潇湘隐者, 49 阅读, 收藏, 编辑
摘要:如果YourSQLDba设置过共享路径备份(具体参考博客YourSQLDba设置共享路径备份),有时候服务器重启后,备份就会出错,具体错误信息类似如下所示: Date 2019/9/25 10:10:00Log SQL Server (Current - 2019/9/25 3:06:00) Source spid56 MessageBackup... 阅读全文

SQL Server如何正确的删除Windows认证用户

2019-09-21 16:49 by 潇湘隐者, 104 阅读, 收藏, 编辑
摘要:在SQL Server数据库中,有时候会建立一些Windows认证的账号(域账号),例如,我们公司习惯给开发人员和Support同事开通NT账号权限,如果有离职或负责事宜变更的话,那么要如何正确的删除这些Windows认证账号呢?这篇文章就是来探讨一下如何正确的删除Windows认证账号。如下所示: 下面这种方式,仅仅是删除登录名(login),然而并没有删除用户(User) USE... 阅读全文

pymssql连接Azure SQL Database

2019-09-21 14:33 by 潇湘隐者, 85 阅读, 收藏, 编辑
摘要:使用pymssql访问Azure SQL Database时遇到“DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (xxxx:1433)\n')”这样的错误,具体错误如下所示: # python test.py Traceback (most recent call last): Fi... 阅读全文

Python升级后ssl模块不可用问题解决和浅析

2019-09-20 09:20 by 潇湘隐者, 336 阅读, 收藏, 编辑
摘要:在Cent0S 7.5下将Python 2.7.5升级到Python 3.6.6后,发现ssl模块不可用,具体详细信息如下所示: [root@db-server ~]# pip listPackage Version---------- -------pip 19.2.3 setuptools 39.0.1 WARNING: pip is configured with ... 阅读全文

CentOS 7升级Python到3.6.6后yum出错问题解决总结

2019-09-20 00:39 by 潇湘隐者, 92 阅读, 收藏, 编辑
摘要:最近将一台测试服务器操作系统升级到了Cent0S 7.5,然后顺便也将Python从2.7.5升级到Python 3.6.6,升级完成后,发现yum安装相关包时出现异常,报“File "/usr/libexec/urlgrabber-ext-down", line 28”这样的错误, 具体错误信息如下所示: # yum install openssl ................. 阅读全文

buffer cache size太小引起磁盘IO繁忙案例

2019-09-11 22:40 by 潇湘隐者, 3 阅读, 收藏, 编辑
该文被密码保护。

Python监控SQL Server数据库服务器磁盘使用情况

2019-09-08 12:15 by 潇湘隐者, 107 阅读, 收藏, 编辑
摘要:本篇博客总结一下Python采集SQL Server数据库服务器的磁盘使用信息,其实这里也是根据需求不断推进演化的一个历程,我们监控服务器的磁盘走了大概这样一个历程: 1:使用SQL Server作业监控磁盘空间 很久之前写过一篇博客“MS SQL 监控磁盘空间告警”,后面对这个脚本进行过多次完善和优化,做成了一个模板。在每台SQL Server服务器上都部署了,确实也很实... 阅读全文

log file sync等待超高案例浅析

2019-09-08 00:27 by 潇湘隐者, 155 阅读, 收藏, 编辑
摘要:监控工具DPA发现海外一台Oracle数据库服务器DB Commit Time指标告警,超过红色告警线(40毫秒左右,黄色告警是10毫秒,红色告警线是20毫秒),如下截图所示,生成了对应的时段的AWR报告,发现Top 5 Timed Events里面,log file sync等待事件的平均等待时间为37毫秒,log file parallel write等待事件的平均等待时间为40毫秒 ... 阅读全文

Database mirroring connection error 4 'An error occurred while receiving data: '10054(An existing connection was forcibly closed by the remote host.)

2019-09-04 00:22 by 潇湘隐者, 142 阅读, 收藏, 编辑
摘要:公司一SQL Server镜像发生了故障转移(主备切换),检查SQL Server镜像发生主备切换的原因,在错误日志中发现下面错误: Date 2019/8/31 14:09:17 Log SQL Server (Archive #4 - 2019/9/1 0:00:00) Source spid35s Message Database mirr... 阅读全文

[转载]——Automatic Tuning of Undo_retention Causes Space Problems (文档 ID 420525.1)

2019-08-31 11:10 by 潇湘隐者, 63 阅读, 收藏, 编辑
摘要:Automatic Tuning of Undo_retention Causes Space Problems (文档 ID 420525.1) 转到底部 In this Document Symptoms Cause Solution References APPLIES TO: Ora... 阅读全文

[转载]——Full UNDO Tablespace In 10gR2 and above (文档 ID 413732.1)

2019-08-31 10:56 by 潇湘隐者, 67 阅读, 收藏, 编辑
摘要:最近遇到了这个案例,官方文档已有详尽的分析、介绍,特转载在此,方便以后查看! Full UNDO Tablespace In 10gR2 and above (文档 ID 413732.1) 转到底部 In this Document Symptoms Changes Cause Solution ... 阅读全文

SQL Server Agent作业执行CmdExec(bat)命令报权限问题

2019-08-31 09:16 by 潇湘隐者, 156 阅读, 收藏, 编辑
摘要:写了一个bat命令,定期去清理一些SQL Server的Dump文件,然后配置成SQL Server作业,作业执行时报权限错误,具体错误信息如下所示: Message Executed as user: NT Service\SQLSERVERAGENT. The process could not be created for step 1 of job 0xCA038C081E9BEF4C... 阅读全文

SQL Server有意思的数据类型隐式转换问题

2019-08-27 23:35 by 潇湘隐者, 180 阅读, 收藏, 编辑
摘要:写这篇文章的时候,还真不知道如何取名,也不知道这个该如何将其归类。这个是同事遇到的一个案例,案例比较复杂,这里抽丝剥茧,仅仅构造一个简单的案例来展现一下这个问题。我们先构造测试数据,如下所示: CREATE TABLE TEST( ID INT, GOOD_TYPE VARCHAR(12), GOOD_WEIGHT NUMERIC(18,2)) INSERT INTO db... 阅读全文

pymssql的Connection相关特性浅析

2019-08-27 16:15 by 潇湘隐者, 80 阅读, 收藏, 编辑
摘要:关于Python的pymssql模块,之前研究时总结了“pymssql默认关闭自动模式开启事务行为浅析”这篇博客,但是在测试过程中又发现了几个问题,下面对这些问题做一些浅析,如有不足或不正确的地方,敬请指出。 1: pymssql的commit函数可以提交两次或多次 Connection.commit(): Commit current transaction. You must ... 阅读全文