感谢您的阅读,此博客的文章都是原著,转载请您保留相关链接,谢谢!

摘要: 距离最初发布SQLServer DBA 三十问已有一年多了,大家对其中的某些问题讨论比较激烈,要回答出来这些问题需要比较扎实的SQLServer基础和一定的实际操作经验,如果你试着去回答其中的问题,去查找相关的资料,去讨论别人回答的对错,这个过程对我们知识的学习、整理和强化都是相当有益的,过了这么长时间,你对最初的三十问中的内容都了解了吗?你的知识在不断的更新和深化吗? 现在我们的新三十问又来了,相比之前的三十问,这个版本设计的问题更深入,涉及底层原理的知识比较多,加入了比较多的主观和开放性的问题,可能有些朋友比较反感这种问题,但是这种问题往往是体现你对SQLServer这项技术掌握程度最.. 阅读全文
posted @ 2013-08-29 11:17 飞洋过海 阅读(3031) 评论(14) 推荐(3) 编辑
摘要: 目标: 主机做了Mirror和Replication,当主机出现问题时,Replication和Mirror实现自动的故障转移(Mirror和Replication都切换到备机,而当主机 重新启动后,自动充当备机的角色)。环境: 五台虚拟机,配置均为Windows2008 Enterprise + SQLServer2008R2 Enterprise 08R201:Mirror 见证机(WITNESS) IP:192.168.56.101 08R202:主机(Rep+Mirror) IP:192.168.56.102 08R203:Rep分发机 IP:192.... 阅读全文
posted @ 2012-05-25 17:40 飞洋过海 阅读(9285) 评论(6) 推荐(6) 编辑
摘要: 需求 安装数据库时,将字符集安装成了“SQL_Latin1_General_CP1_CI_AS”,现在需要将其更改为“Chinese_PRC_CI_AS”。方法 重新生成系统数据库 ,然后还原配置信息。局限重新生成 master、model、msdb 和 tempdb 系统数据库时,将删除这些数据库,然后在其原位置重新创建。如果在重新生成语句中指定了新排序规则,则将使用该排序规则设置创建系统数据库。用户对这些数据库所做的所有修改都会丢失。例如,您在 master 数据库中的用户定义对象、在 msdb 中的预定作业或在 model 数据库中对默认数据库设置的更改都会丢失。前期准备在重新生成系.. 阅读全文
posted @ 2012-05-15 14:56 飞洋过海 阅读(46171) 评论(2) 推荐(7) 编辑
摘要: 很早之前就有朋友问过我,能否按业务的优先等级分配SQLServer的资源,使得不同的应用能得到不同的响应,SQLServer2008之前对这个需求貌似没有什么解决方法,不过从SQLServer2008开始,这个需求就变得很简单了,SQLServer直接就为我们提供了按用户的要求分配资源的能力,下面我们就来介绍这个功能。 SQLServer资源调控器分成三个部分:资源池、负载组和分类器函数;资源池为我们提供了将资源(CPU、Memory等)划分到不同的载体中,负载组承载负载并将这些负载映射到资源池,分类器函数将不同的会话映射到不同的负载组中。资源池:08提供了两种预先定义好的资源池内部池:... 阅读全文
posted @ 2012-05-07 21:51 飞洋过海 阅读(5479) 评论(3) 推荐(6) 编辑
摘要: 转储的英文单词是dump,但这边我们说的dump不是SQL Server本身的DUMP备份命令,而是指通过sqldumper.exe中的dump。那什么是dump呢,dump指的是将某种内容转换为另外一种更具可读性的方式。在ORACLE中,有专门的dump命令可以dump出数据文件等的内容,其trace也相当于另外一种dump。通过dump,我们便可以了解整个系统的运行原理。SQL Server这方面的资料很少,当然,这也符合了微软不开源的策略。不过这几年来,关于这方面的资料比较多了,通过google可以获得相关的内容。最早对此感兴趣的是碰到了很多人经常问的.mdmp文件,mdmp的叫min. 阅读全文
posted @ 2012-04-28 16:17 飞洋过海 阅读(5595) 评论(1) 推荐(0) 编辑
摘要: 曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过其他工具了;诚然,SSMS和Profile足够强大,工作的大部分内容都能通过它们搞定,但是MS、第三方公司甚至是个人开发者为SQLServer提供了很多其他的工具,如果你能充分的掌握这些工具,无疑会给我们数据库的管理、优化、测试和排错节省大量的时间和精力,下面就来介绍除SSMS和Profile之外的其他有用的工具。NO1: PD(PowerDesigner)功能:SysBase公司提供的数据库设计工具,功能很强大,是做数据库设计时必备的工具;下载:http. 阅读全文
posted @ 2012-04-25 12:14 飞洋过海 阅读(40511) 评论(17) 推荐(27) 编辑
摘要: SQLServer2008在数据的高安全、高性能、高可用方面的技术已经比较成熟,这些技术和方案都是随着很多公司的业务和数据访问压力的增加而不断的升级和变迁的,同时经历了方方面面的考验,证明了它们都是成熟可靠的,下面就这方面的技术方案和变迁过程来做一些分析。阶段一:裸奔时代:优点:裸奔最大的好处就是简单,成本低。缺点:一旦服务器出现问题,恢复起来比较麻烦;如果访问压力变大,服务器可能不堪重负。阶段二:单库+Mirror+BackUp方案:说明:Mirror有两种方式,同步和异步;同步方式能保证主库和Mirror端数据的一致性,而且不需要使用企业版,但是对主库的性能影响也比较大;异步方式需要企业. 阅读全文
posted @ 2012-03-23 09:54 飞洋过海 阅读(7511) 评论(18) 推荐(21) 编辑
摘要: 数据库系统异常是DBA经常要面临的情景,一名有一定从业经验的DBA,都会有自己一套故障排查的方法和步骤,此文为为大家介绍一下通过系统性能视图(SQLServer05以上版本)来排查系统异常的基本方法,希望能对大家有所帮助。这里分两部分来介绍:一. 从数据库连接情况来判断异常:1. 首先我们来看一下目前数据库系统所有请求情况:--request infoselect s.session_id, s.status,db_name(r.database_id) as database_name,s.login_name,s.login_time, s.host_name,c.client_net_. 阅读全文
posted @ 2012-03-12 14:36 飞洋过海 阅读(4378) 评论(7) 推荐(7) 编辑
摘要: 业务需求描述: 有一个用户登录表,用户每次登陆时,就会向这个表中插入一条数据,这个表记录了用户的用户ID和登录时间,表的数据量有几千万, 现在需要求出从今天开始算,用户持续登录的时间(也就是用户今天登陆了,昨天也登陆了,但是前天没有登录,那用户的持续登录时间就 是一天)。 分析: 看似蛮简单的一需求,在数据库里面实际操作起来不是那么简单的,并非一个简单的Select能够搞定的,从业务的描述我们起码可以得到如下 的分析结论: 1. 业务需要统计这样的数据,应该并不需要实时的数据,所以我们可以获取某个时间的快照数据来做计算;2. 表数据量比较大,如果直接在这个表上操作,势必会对产品的使用造成... 阅读全文
posted @ 2012-02-17 10:40 飞洋过海 阅读(4493) 评论(42) 推荐(5) 编辑
摘要: 众所周知,SQLServer增删改数据最先都是在内存中进行的,这可以大大加快数据操作的速度;当内存中的数据被修改了,而磁盘中的数据还没有被修改时,就产生了所谓的”脏页“,SQLServer是如何同步内存和磁盘的数据的呢?以下三种方法就是为同步内存和磁盘数据而产生的。LazyWrite(惰性写入器): 作用: 1.管理SQLServer空闲内存: a. 定期检查空闲缓冲列表的大小,当这个值过低的时候,它会扫描整个数据缓存,将一段时间没有使用的页面老化(通过LRU算法),释放内存空间; b. 如果找到一段时间没有被使用的脏页,它会将其写入磁盘,然后将这个页面的内存空间标记为空闲空间; 2.协调.. 阅读全文
posted @ 2012-02-14 14:57 飞洋过海 阅读(3818) 评论(12) 推荐(4) 编辑