摘要: Q:我想要在一个即席查询(ad hoc query)中从一个远程的OLEDB数据源或使用批量载入(BULK LOAD)的方式将数据导入到SQL Server表内?A:您可以使用Transact-SQL中的OPENROWSET函数来获取从任何支持注册OLEDB的提供程序(registered OLD DB provider)的数据源获取数据,诸如远程SQL Server实例或Microsoft Ac... 阅读全文
posted @ 2009-05-08 01:28 Dem 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 1. XML数据模型XML存储与处理查询的性能取决于数据库的设计与XML数据的结构与粒度。是否要使用XML数据模型,看你 是不是有半结构化的数据,需要保留文档结构与层次结构的标记语言数据,或可变的结构。 1.1 标记 Markups同样的数据可以以不同的方式来标记,视内容(element值)与元数据信息(attribute值)。越具体的 element名越易于阅读,且对生成有效的查询计划有帮助。冗... 阅读全文
posted @ 2009-04-23 20:58 Dem 阅读(1047) 评论(0) 推荐(1) 编辑
摘要: 重建索引是为了减少数据碎片。数据碎片会导致SQL Server进行不必要的数据读,降低SQL Server的性能。重建索引也会同时更新列统计,而如果查询所使用的列缺少或遗漏统计信息,这可能导致SQL Server内部的优化器选择比预期效率低的查询计划。 如果您重建了某张表上的聚集索引,该表上的非聚集索引也同时会被更新。 要更新索引,您可以使用Maintenance Wizard(相关内... 阅读全文
posted @ 2009-04-10 11:21 Dem 阅读(7291) 评论(0) 推荐(0) 编辑
摘要: 最近遇到了一个游标锁定相关的问题,简单的说就是和http://support.microsoft.com/kb/953948相关的 问题,目前为止使用Read Uncommitted可以得到比较好的体验,但客户不想要脏数据,看来还得想想其他 办法。以前一直因为觉得游标效率低就没怎么深入研究过,这次主要谈锁顺便提到游标。 1. 基本概念 锁是用于解决对于资源(行、页、表)的争用。主要是解决以下两个问... 阅读全文
posted @ 2009-03-27 10:35 Dem 阅读(873) 评论(0) 推荐(0) 编辑
摘要: Q:对于复杂的连接问题,我如何获得更多的信息以用于纠错? A: SQL Server 2008包含了一个用于帮助特别困难的连接问题纠错的新特性 - 连接环缓冲区(Connectivity Ring Buffer)。它可以捕捉每一个服务器发起的连接关闭,包括关闭会话或登陆失败事件。为了使纠错更加方便有效,环缓冲区试图提供与客户端失败与服务器端关闭行为的相关信息。只要服务器在线,环缓冲区内最多可以存储... 阅读全文
posted @ 2009-03-25 15:33 Dem 阅读(691) 评论(0) 推荐(0) 编辑
摘要: 把和SQL Server内存和AWE相关问题的基本内容整理了一下。1. SQL Server内存基本概念在涉及SQL Server内存时有几个比较重要的术语:Buffer Pool (BPool)SQL Server使用的几个分散的地址空间,内部进程使用,包括存储编译,执行计划,创建索引,申请指针。MemToLeaveSQL Server在启动时就保留的连续地址空间,供进程空间内的大于8KB的外部... 阅读全文
posted @ 2009-03-11 01:40 Dem 阅读(4926) 评论(1) 推荐(0) 编辑
摘要: Q:是否有办法监视TempDB剩余空间?是否可以控制不同的应用程序被分配多少TempDB空间,或者创建多个TempDB? A: 不幸的是SQL Server不提供以上的功能。但SQL Server可以使用DMV来检查当前查询TempDB空间分配。如果您发现TempDB剩余的空间相当少了,您可以找出消耗最大的查询,决定终止一个或几个查询来回收TempDB的空间。 您可以使用如下DMV查询: Co... 阅读全文
posted @ 2009-03-05 13:55 Dem 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 贴一篇翻译的FAQ(我要是能写出这种水平就好了。。。),对于最常见的SQL连接问题,该步骤几乎应该都能应付。 FAQ:检查SQL连接错误问题的步骤 Q:我遇到过很多SQL连接错误,是否有一个解决连接问题的向导? A: 基本上,当您不能连接您的SQL Server数据库时,问题可能会如下: 1) 网络问题 2) SQL Server配置问题 3) 防火墙问题 4) 客户端驱动问题 5) 应用程序配置... 阅读全文
posted @ 2009-02-28 18:31 Dem 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 微软防止不信任的代码进行一定权限的行为的解决方案。 CAS根据代码来自哪里,不同等级地信任代码。 流程: 当CLR加载一个assembly, 首先获得这个assembly的evidence(与assembly相关的信息,例如URL,发布者,所在文件夹等), 来判断assembly所属的code group(包含权限集,由机器管理员决定) 当代码要求一定权限(比如写文件)时, 进行code acce... 阅读全文
posted @ 2009-02-28 18:30 Dem 阅读(395) 评论(0) 推荐(1) 编辑
摘要: 本来复习做过的case是应该当天完成的任务,不过最近忙得够呛。。。当case量开始上去的现在,看来要好好学习下如何分清任务的先后主次。 SQL Server 2005(包括08)引入了CLR编程模型,使用普通编程语言(C#, VB.NET, C++)来写SQL函数触发器等。 CLR介绍: 1. 在数据库中注册和运行托管代码: 编写assembly,使用CREATE ASSEMBLY来放到数据库中。... 阅读全文
posted @ 2009-02-28 18:29 Dem 阅读(396) 评论(0) 推荐(0) 编辑