摘要: 14.5 用Bak文件恢复到故障点的奥秘如果数据库被损坏,我们就只能利用备份集文件(通常扩展名为BAK)来恢复数据库,如果备份集中包含了尾日志备份,我们同样能将数据库恢复到故障点。前面我们已经介绍了使用restore headeronly命令可以查看备份集文件的头部信息。这里的信息和msdb系统数据库中保存的信息是一致的。区别在于在删除数据库时,我们可以选择是否同时删除msdb系统数据库中的备份信... 阅读全文
posted @ 2008-09-05 11:24 小飞龙 阅读(841) 评论(0) 推荐(0) 编辑
摘要: 14.4 在线恢复到故障点 如果数据库没有损坏,我们就可以在线将数据库恢复到故障点。在线恢复将使用系统数据库msdb中存储的数据库备份信息,但使用的日志还是备份集中的日志。 14.4.1 存储备份信息的系统表 SQL Server 2005将备份信息统一保存在msdb系统数据库中,要查询数据库的备份集信息,可以通过执行下列语句来完成。 select * from msdb.dbo.backupse... 阅读全文
posted @ 2008-09-05 11:24 小飞龙 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 14.3 产生备份集 通过前面的学习,我们已经知道SQL Server 2005数据库提供了将数据库的状态恢复到故障发生点的功能。但是这些功能的顺利执行需要有一些前提条件,比如联机日志不能损坏,否则将丢失最后一次日志备份完成时刻到故障点的事务。 很多DBA不了解这其中的奥秘,往往会想当然地认为利用已有的备份日志就可以将数据库恢复到故障点,忘记实际上还需要做一次日志备份才能恢复的奥秘。 接下来我们通... 阅读全文
posted @ 2008-09-05 11:22 小飞龙 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 14.2 尾日志备份 对于将数据库恢复到即时点,很好理解也很好操作。下面我们重点来研究将数据库恢复到故障点时必不可少的操作,即尾日志备份。 但是,需要注意的是,如果在Management Studio中按照默认设置是永远无法完成尾日志备份的。 14.2.1 图形化尾日志备份操作 图14-7所示为选择日志备份的数据库的【选项】选项卡。默认情况下选择的是【截断事务日志】单选按钮,这样将永远无法备份尾日... 阅读全文
posted @ 2008-09-05 11:22 小飞龙 阅读(398) 评论(0) 推荐(0) 编辑
摘要: Transact-SQL 编程语言提供 DBCC 语句作为 Microsoft® SQL Server™ 2000 的数据库控制台命令。这些语句对数据库的物理和逻辑一致性进行检查。许多 DBCC 语句能够对检测到的问题进行修复。 数据库控制台命令语句被分为以下类别。 语句分类 执行 维护语句 对数据库、索引或文件组... 阅读全文
posted @ 2008-09-05 11:21 小飞龙 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 本章要点† 事务日志备份与恢复原理† 尾日志备份† 产生备份集† 将数据库恢复到故障点† 备份恢复中的疑难问题一个不懂事务日志的DBA,是很难掌握数据库的精髓的。事务日志忠实地记录了数据库的活动,所以基于这些记录的活动就可以随心所欲地将数据库的状态恢复到特定的即时点或恢复到故障点。然而,不是每个DBA都能够正确完成这些操作的。其中的奥秘在... 阅读全文
posted @ 2008-09-05 11:20 小飞龙 阅读(851) 评论(0) 推荐(0) 编辑
摘要: 经常看见有人问,MSSQL占用了太多的内存,而且还不断的增长; 或者说已经设置了使用内存,可是它没有用到那么多,这是怎么一回事儿呢? 首先,我们来看看MSSQL是怎样使用内存的。 最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得你会用到的数据统统扔到内存中,直到内存不足的时候,才把命中率低的数据给清掉。所以一般我们在看statistics io的时候,看到的physi... 阅读全文
posted @ 2008-08-09 15:41 小飞龙 阅读(939) 评论(0) 推荐(0) 编辑
摘要: 在论坛上常见有朋友抱怨,说SQL Server太吃内存了。这里笔者根据经验简单介绍一下内存相关的调优知识。首先说明一下SQL Server内存占用由哪几部分组成。SQL Server占用的内存主要由三部分组成:数据缓存(Data Buffer)、执行缓存(Procedure Cache)、以及SQL Server引擎程序。SQL Server引擎程序所占用缓存一般相对变化不大,则我们进行内存调... 阅读全文
posted @ 2008-08-09 15:41 小飞龙 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 1.清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 2.收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 --选择数据文件--在收缩方式里选... 阅读全文
posted @ 2008-07-15 17:10 小飞龙 阅读(235) 评论(0) 推荐(0) 编辑
摘要: null是个非常特殊、令人讨厌的值,什么值与null的运算结果都是null,常常导致语句错误。所以在设计库表结构时,常常设置default值,避免null的出现。但这样会增大数据文件的体积,浪费资源。当表中数值很稀疏时,这种浪费是非常惊人的。 判断是否等于null,不能用=null和null,要用 is null 和 is not null 。 设置字段值为null,可以用 update XX s... 阅读全文
posted @ 2008-07-15 16:46 小飞龙 阅读(271) 评论(0) 推荐(0) 编辑