代码改变世界

随笔分类 -  数据库技术(MS SQL)

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

2019-09-25 14:32 by 潇湘隐者, 618 阅读, 收藏, 编辑
摘要: 如果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 潇湘隐者, 947 阅读, 收藏, 编辑
摘要: 在SQL Server数据库中,有时候会建立一些Windows认证的账号(域账号),例如,我们公司习惯给开发人员和Support同事开通NT账号权限,如果有离职或负责事宜变更的话,那么要如何正确的删除这些Windows认证账号呢?这篇文章就是来探讨一下如何正确的删除Windows认证账号。如下所示: 阅读全文

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 潇湘隐者, 1613 阅读, 收藏, 编辑
摘要: 公司一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... 阅读全文

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

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

SQL Server如何查看存储过程的执行计划

2019-06-28 12:24 by 潇湘隐者, 6736 阅读, 收藏, 编辑
摘要: 有时候,我们需要查看存储过程的执行计划,那么我们有什么方式获取存储过程的历史执行计划或当前的执行计划呢? 下面总结一下获取存储过程的执行计划的方法。 1:我们可以通过下面脚本查看存储过程的执行计划,但是有时候,你会发现这种方式并不总是能够获取到存储过程的执行计划。 SELECT d.object_id , DB_NAME(d.database_id) DB... 阅读全文

链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "Cannot start more transactions on this session."

2019-06-20 10:32 by 潇湘隐者, 8253 阅读, 收藏, 编辑
摘要: 开发同事反馈一个SQL Server存储过程执行的时候,报“链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "Cannot start more transactions on this session."。这个存储过程,个人做了一个精简和脱敏处理后如下: BEGIN TRY BEGIN TRANSACTION ... 阅读全文

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

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

SQL Server扩展事件system_health会话总结

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

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

2019-05-20 11:41 by 潇湘隐者, 1487 阅读, 收藏, 编辑
摘要: 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 潇湘隐者, 937 阅读, 收藏, 编辑
摘要: 最近发现一个非常奇怪的阻塞问题,如下截图所示(来自监控工具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 潇湘隐者, 2433 阅读, 收藏, 编辑
摘要: 在SQL Server中,会话的状态有运行(Running)、睡眠(Sleeping)、休眠(Dormant)、Preconnect 等状态,有时候你会在数据库中看到很多会话处于睡眠(Sleeping)状态,那么这些睡眠(Sleeping)状态的会话会消耗CPU、Memory资源吗?如果消耗资源的话,那么sleeping会话具体消耗多少内存资源呢? 另外它会影响数据库性能吗? 首先,处于睡... 阅读全文

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

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

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

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

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

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

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

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

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

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