代码改变世界

随笔档案-2019年04月

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

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

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

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

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

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