- 博客(19)
- 资源 (22)
- 收藏
- 关注
翻译 如何查询SQL Server备份还原历史记录
SQL Server在msdb数据中维护了一系列表,用来存储执行所有备份和还原的细节信息。即使你正在使用第三方的备份应用程序,只要这个应用程序使用SQL Server的虚拟设备接口(Virtual Device Interface---VDI)来执行备份和还原执行,那么执行细节依然被存储在这一系列表中。存储细节的表包括:backupset backupfile backup
2010-01-30 22:45:00 8228 9
翻译 SQL Server数据库为什么不能恢复单表数据
如果能从备份文件中只恢复一个表的数据,那不是很好吗?比如,你备份了AdventureWorks数据库,现的你只恢复里面Vendor表数据。不幸的是,SQL Server本身并不支持这样还原,你需要从第三方提供的工具中来执行这样的任务。提供这种功能的程序都是一些SQL Server第三方备份工具。它们可以让你从备份文件中抽取或是读取单个表数据。但是这里有一点要注意是,假如你选择恢复一个完整数
2010-01-30 17:42:00 5562 7
翻译 SQL Server中备份文件累积的问题
你创建的每一个备份都是一个备份设备,关于它的细节信息都存储在msdb..backupset表中。一个备份设备可以被存储在单一文件,或是多个文件中。同样,一个文件也可以存储多个备份设备。所以,假如你每次备份都使用相同的文件名,文件就会一直增长。一个普遍的误解是:如果你每次使用相同的文件名,那旧的备份设备就会被覆盖。但事实却不是这样的。 那我们怎么分辨一个文件中是否包括多个备份设备呢?你可
2010-01-27 22:09:00 2887 7
翻译 SQL Server如何校验备份文件
你遇到的最糟糕的事莫过于备份文件无法还原数据库了。我这里并不是说缺少磁盘空间或者类似的事导致的无法还原,而是一个100%确认已经被损坏的备份文件。你会问,那我怎么办呢?别着急,SQL Server有一个完善的还原功能来验证备份文件。举个例子,当你第一次创建了一个备份文件,它应该是好的,但这仅仅是“应该”。每一次,这个文件被拷贝到另一个地方时,文件就会存在被损坏的风险。确认这个备份文件可以继续使
2010-01-27 14:52:00 7647 9
翻译 SQL Server事务日志揭秘
事务日志里面“藏”着很多有用的信息。虽然SQL Server本身并没有提供分析工具,但是我们可以使用第三方工具来一探究竟。Red Gate软件提供了一款叫做SQL Log Rescue的免费工具,但是只支持SQL Server 2000。ApexSQL和Lumigent公司提供的两款软件分别叫做ApexSQL Log和Log Explorer,它们支持SQL Server7、2000和2005
2010-01-26 15:16:00 3699 9
翻译 SQL Server备份事务日志结尾(Tail)
事务日志结尾经常提交数据库未备份的事务日志内容。基本上,每一次你执行事务日志备份时,你都在执行事务日志结尾的备份。那为什么会这么设计呢?因为也许由于介质的损坏,当数据库已经不再可用时,麻烦就来了。如果下一个逻辑步骤正好就是要备份当前事务日志的话,可以应用这个备份来使数据库处于等待(Standby)状态。你甚至可以在数据库文件不可用的状态下使用NO_TRUNCATE来备份事务日志,例如:
2010-01-26 10:18:00 4904
翻译 SQL Server如何截断(Truncate)和收缩(Shrink)事务日志
当SQL Server截断事务日志时,它仅仅是在虚拟日志文件中做个标记,以便不再使用它,然后准备以重用形式来做备份(假如运载在完整或是批量日志恢复模型)。也就是说,在使用简单恢复模型时,事务日志包括如下的日志记录: 当checkpoint发生时,虚拟日志文件1、2不再被使用,因为事务1、2已经被提交了,而且日志记录也不再需要回滚了。然后SQL Server重用虚拟日志文件1、2,如下图:
2010-01-25 14:32:00 19401 4
翻译 SQL Server数据库事务日志序列号(LSN)介绍
日志序列编号(LSN)是事务日志里面每条记录的编号。当你执行一次备份时,一些LSN值就被同时存储在文件本身及msdb..backupset表中。你可以使用RESTORE HEADERONLY语法来从备份文件中获取LSN值。 注意:在SQL Server 2000中,有一列叫做DifferentialBaseLSN。但在SQL Server 2005中,相同的列名称变成了Data
2010-01-24 19:28:00 16821
翻译 SQL Server数据库事务日志存储序列
如果你的数据库运行在完整或是批量日志恢复模式下,那么你就需要使用作业(job)来定期备份事务日志,保持你的事务文件大小处在一个可管理的范围。当你需要还原事务日志时,你就需要按照创建事务日志的顺序来恢复它们。你可以参考存在msdb..backupset表中的信息来确定还原文件的顺序,使用FirstLSN和LastLSN列的值作参考。当你备份时,这些备份信息就会存在backupset表中只
2010-01-24 18:21:00 4085 1
翻译 SQL Server事务日志介绍
SQL Server中的数据库都是由一或多个数据文件以及一或多个事务日志文件组成的。顾名思意,数据文件主要存储数据库的数据,包括数据库内容结构,数据页,索引页等等。那么事务日志到底是干什么的呢?它主要是用来保存数据库修改记录的,如下图:SQL Server的工作原理为什么这样呢?为什么不把数据立刻写入数据文件呢?原因很简单:为了得到更高的效率和性能。数据文件为了适应新的数据可能会扩展,
2010-01-23 10:24:00 19237 24
原创 设计模式---订阅发布模式(Subscribe/Publish)
订阅发布模式定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主题对象。这个主题对象在自身状态变化时,会通知所有订阅者对象,使它们能够自动更新自己的状态。 将一个系统分割成一系列相互协作的类有一个很不好的副作用,那就是需要维护相应对象间的一致性,这样会给维护、扩展和重用都带来不便。当一个对象的改变需要同时改变其他对象,而且它不知道具体有多少对象需要改变时,就可以
2010-01-22 10:17:00 81459 13
原创 设计模式---装饰模式(Decorator)
装饰模式是为已有功能动态地添加更多功能的一种模式。当系统需要新功能时,一般做法是向旧的类中添加新的代码,这些新加的代码通常影响了原有类的核心职责或行为,在主类中加入新的字段、方法或是逻辑,从而增加了主类的复杂性,而这些新加入的代码仅仅是为了满足一些只在某种特定情况下才会发生的特殊行为的需要。装饰模式提供了一个非常好的解决方案,它把每个要装饰的功能放在单独的类中,并让这个类包装它所有要装饰
2010-01-20 20:34:00 8735 46
翻译 你真的会使用SQL Server的备份还原功能吗?之三:使用Copy的方式来备份数据库
SQL Server允许使用简单的Copy方式来备份数据库的数据和日志文件吗?答案是肯定的。但前提是数据文件不再被SQL Server使用。当数据库处于活动状态,你不能简单的copy它的文件,推荐方式是使用完整数据库备份(备份类型)。这是因为数据库的数据和日志文件不能处于非一致状态。这会导致仅仅在事务日志中被修改的数据页可能无法写入数据文件。这也会影响进程中的事务无法提交或是回滚已经写入文件中
2010-01-19 18:15:00 4014 14
翻译 你真的会使用SQL Server的备份还原功能吗?之二:主要备份类型
假设在下面几个时间段中,一个数据库积累插入了如下数据: 1.完整数据库备份故名思意,完整数据库备份包括完整的数据库信息。它包括数据库的数据文件和备份结尾的部份活动事务日志。 完整备份基本语法如下:BACKUP DATABASE AdventureWorks TO DISK = g:/backups/AdventureWorks.bak2.差异性数据库备份
2010-01-19 17:29:00 6900 14
翻译 你真的会使用SQL Server的备份还原功能吗?之一:恢复模型
在SQL Server中,除了系统数据库外,你创建的每一个数据库都有三种可供选择的恢复模型: Simple(简单), full(完整), bulk-logged(批量日志)。 下面这条语句可以显示出所有在线数据库的恢复模型:SELECT name, (SELECT DATABASEPROPERTYEX(name, RECOVERY)) RecoveryModel FROM master..sy
2010-01-18 23:19:00 8910 14
原创 SQL Server中关于的checkpoint使用说明
在SQL Server中有一个非常重要的命令就是CheckPoint,它主要作用是把缓存中的数据写入mdf文件中。其实在我们进行insert, update, delete时,数据并没有直接写入数据库对应的mdf文件中,而是写入了缓存里,这有点像电驴,因为过于频繁的写入会使磁盘的寿命大大减小。 从上图可以直观的看出。只有当发生checkpoint时,数据才会被写入mdf数据文件。
2010-01-18 21:26:00 17289 1
原创 SQL Server 行列转换示例
SQL Server的行列转换功能非常实用,但是由于其语法不好懂,使很多初学者都不愿意使用它。下面我就用示例的形式,逐一展现Pivot和UnPivot的魅力。如下图 由于近期CSDN的图片服务器不稳定,如果图片挂了,请读者访问图片原地址:http://img242.ph.126.net/4isS79TpI8jxQViyLD410Q==/2136958023189057751.jpg
2010-01-13 17:26:00 4750 12
原创 SQL Server如何跨实例访问数据库
在我们日常使用SQL Server数据库时,经常遇到需要在实例Instance01中跨实例访问Instance02中的数据。例如在做数据迁移时,如下语句:insert into Instance01.DB01.dbo.Table01 select * from Instance02.DB01.dbo.Table01普通情况下,这样做是不允许的,因为SQL Server
2010-01-06 14:27:00 13193 8
原创 Windows7中7种不同关机模式介绍
在Win7关机选项中一共有7种关闭方式,分别为 Switch user(切换用户), Log off(登出), Lock(锁定), Restart(重启), Sleep(睡眠), Hibernate(休眠), Shut down(关机).下面分别介绍一下它们的区别:1.Switch user, Log off, LockWin7支持多用户登录。也就是说,用户可以以管理员或是其他
2010-01-05 20:26:00 18084 26
Agile Project Management
2011-01-17
Inside Microsoft SQL Server 2005 Query Tuning and Optimization
2011-01-17
Inside Microsoft SQL Server 2005 T-SQL Querying
2008-06-26
Inside Microsoft SQL Server 2005 T-SQL Programming
2008-06-26
Inside Microsoft SQL Server 2005
2008-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人