摘要:以下简要概括当系统数据库文件丢失或是因为页面损坏造成数据库启动异常的解决办法:数据库资源数据库描述与master数据库在同一目录中名称为mssqlsystemresource.mdf与mssqlsystemresource.ldf的两个文件,资源数据库用于保存数据库中可执行的系统对象,如存储过程、视图、触发器及函数。在master还原后要还原此数据库。如果你在安装完后,移动了master数据库的位...
阅读全文
摘要:下面的四张表分别表示工作流实例、工作项,股票、股票价格历史记录。大小分别表示表中数据量的多少。 对于上面的两种类型的主从关系表,我觉得可以把其归类为对历史数据的处理。但是其不同之处在于工作流实例的表是会被不断的插入新记录的表,而对于股票相较于工作流实例则很少会插入新的记录。因此在处理这两种类型的历史记录时,只有把股票的当前价格进行冗余才是比较理想的。如果在工作流实例中也把当前的工作项步骤、当前处...
阅读全文
摘要:缓存计划可以被分成两类:编译的计划和执行上下文。前者是对所有用户共享的,后者是针对某个特定用户的,它包含了某个用户执行此计划时的具体参数等相关的信息。编译的计划有四种类型,可以通过下面的语句进行查看:[代码] 这四类分别对应于Object Plans(存储过程、函数、触发器),SQL Plans(即席查询、自动参数化、SP_EXECUTESQL执行的语句),Bound Trees(生成计划时代数化...
阅读全文
摘要:现在SQL2005提供了DTA的工具,大家在去优化一个语句时都有意无意的使用此工具所给出的一些优化建议。不过它始终是个工具,所给出的优化建议很多时候都是使用2005新的索引功能INCLUDE把查询列表统统包括在一个索引中。因此,每个开发人员所定义的索引就会存在重复或是很相似的地方。因为索引页的数据比较密集,因此在对包含有索引列的字段做修改操作时,都会去相应的修改包含此键值列的索引。理论上对一张表多...
阅读全文
摘要:在多数据库服务器中迁移某个数据库时,为了省时间,我们可能会直接把某个数据库分离,然后直接使用mdf文件在另一台机上再附加此数据库。这么样做的结果会把所有缓存计划清除出缓冲区。导致CPU的使用率会在一段时间内一直剧高不下。 除了分离会导致清除过程缓存,其它的操作像:把数据库设置为在线或离线后、对数据库进行重命名时、试图修改数据库的排序规则时(不管成功与否)、直接删除某个数据库时。其它的没有具体测试,...
阅读全文
摘要:看到有些存储过程在返回最后一次插入的行的编号时使用@@IDENTITY,这种做法很危险,在并发量大时会造成数据不一致问题,因此请使用SCOPE_IDENTITY函数。详见联机文档的比较,另外还有一个IDENT_CURRENT。 简单的说,SCOPE_IDENTITY只在当前作用域有效,比如一个存储过程中。IDENT_CURRENT返回的是一个表中最后受影响的...
阅读全文
摘要:使用数据库镜像来提高数据库的高可用性,在镜像服务器创建镜像数据库的快照以卸载报表查询对生产数据库的负载。TechNet有讲座对此技术进行介绍,但看到大家在讲座的讨论区中遇到了很多问题,下面我把在非域环境中带自动故障转移功能的镜像数据库的代码共享一下,在域环境中创建不用考虑太多用户权限的问题,在此不介绍,创建镜像包括以下几步: 1、创建备份数据库还原至镜像服务器 2、创建相应的镜像端点 3、给相应用...
阅读全文