sql 2005 BACKUP or RESTORE(备份还原)

合集下载

sql2005数据库远程备份解决方案

sql2005数据库远程备份解决方案

Sql2005通过脚本进行将备份自动压缩并删除本地备份自动保存在网络上任何一台计算机上。

1.在服务器建立提取压缩包程序,选择环境变量选择Path项并在后面添加rar程序地址%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\WinRAR2、在网络中要储存数据库的计算机上建立共享文件夹3、在服务器上建立一个放置数据库的文件夹,例如:文件夹名为DBBACK4、启动sql2005的xpcmdshell服务5、新建一个作业计划---计划—新建,选择自动备份时间6、计划—选择步骤--新建将一下代码复制进去BACKUPDA TABASE[PACS]TO DISK = N'Q:\backup\data\PACS_backup.bak' BACKUPDA TABASE[ris]TO DISK = N'Q:\backup\data\ris_backup.bak'然后选择高级—选择--然后继续添加新建步骤讲下面代码复制进去,此步骤意思是进行数据库自动备份并进行压缩发送到'\\192.168.235.88\数据库备份'目录下。

并在本地留下备份。

declare @cmdstr varchar(1000),@filename varchar(255)set @filename='D:\235.210-'+cast(month(getdate())as varchar(10))+'.'+cast(day(getdate())as varchar(10))+'.rar 'set @cmdstr='rar a '+ @filename +' E:\DBBACK'exec xp_cmdshell @cmdstrgodeclare @cmdstr varchar(1000),@filename varchar(255),@filepath varchar(255)set @filepath='\\192.168.235.88\数据库备份'set @cmdstr='net use /d '+ @filepath + '/y'exec xp_cmdshell @cmdstrgodeclare @cmdstr varchar(1000),@filename varchar(255),@filepath varchar(255)set @filepath='\\192.168.235.88\数据库备份'set @cmdstr='net use '+ @filepath +' /user:erp\erpdbback 3838438'exec xp_cmdshell @cmdstrgodeclare @cmdstr varchar(1000),@filename varchar(255),@filepath varchar(255)set @filepath='\\192.168.235.88\数据库备份\'+convert(varchar(6),getdate(),112)+ '\' + convert(varchar(8),getdate(),112)set @cmdstr='md '+ @filepathexec xp_cmdshell @cmdstrgodeclare @cmdstr varchar(1000),@filename varchar(255),@filepath varchar(255)set @filename='D:\235.210-'+cast(month(getdate())as varchar(10))+'.'+cast(day(getdate())as varchar(10))+'.rar 'set @filepath='\\192.168.235.88\数据库备份\'+convert(varchar(6),getdate(),112)+ '\' + convert(varchar(8),getdate(),112)set @cmdstr='copy '+ @filename + @filepath +'\'exec xp_cmdshell @cmdstrgodeclare @cmdstr varchar(1000),@filename varchar(255)set @filename='D:\235.210-'+cast(month(getdate())as varchar(10))+'.'+cast(day(getdate())as varchar(10))+'.rar 'set @cmdstr='del '+ @filenameexec xp_cmdshell @cmdstrgodeclare @cmdstr varchar(1000),@filename varchar(255),@filepath varchar(255)set @filepath='\\192.168.235.88\数据库备份'set @cmdstr='net use /d '+ @filepath +' /y'exec xp_cmdshell @cmdstrgo7、继续新建步骤讲下面代码复制进去,意思是讲本地备份数据库进行删除。

SQL2005数据库导入导出办法

SQL2005数据库导入导出办法

精简版SQL Server 2005 数据库导出、导入办法
1、数据库导出(备份)
选中要备份(导出)数据库—>右击,选择“任务”(即Tasks)—>选择“备份”(即Back up)—>选择“普通”(即General),然后按下图选择操作
然后选择“选项”(即Options),按照下图选择操作,最后选择“确定”(即ok)即可将数据库备份。

2、数据库导入(还原)
首先,将要导入或还原的“.bak”文件放到c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup目录下。

其次,打开SQL Server ,选中要还原的数据库(即要将备份数据库导入的目标数据库)—>右击,选择“任务”(即Tasks)—>选择“还原数据库”(即Restore—>database)—>选择“普通”(即General),然后选择“从设备”(即From device),点击右侧选择目标框,会弹出一个窗口如下图所示
选择添加,会出现如下窗口
从中选择要还原的数据库备份,然后“确定”。

在添加页面选择“确定”。

就会回到“普通”页面,选中相应数据库,如下图:
然后选择“选项”(即Options)操作,按下图操作:
最后选择“确定”(或ok)即可。

sql 2005中备份和还原master数据库

sql 2005中备份和还原master数据库

windows sql 2005中备份和还原master数据库实验:由于公司服务器出现硬件问题,导致MASTER数据库崩溃,数据库管理系统无法启动,要求管理员恢复数据库系统。

1:备份MASTER数据库。

在系统崩溃前应做的备份。

2:破坏MASTER文件,模拟数据库系统崩溃。

停止SQLSERVER服务,更改数据库文件master.mdf为master1.mdf再次启动SQL SERVER服务,系统提示错误。

因为服务找不到master.mdf文件,所以启动不了服务。

3:运行安装文件SETUP。

EXE,重建master数据库运行输入cmd,start /wait d:setup.exe /qn INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engin REBUILDDATABASE=1 SAPWD=1234564:重新启动服务,发现master.mdf文件新建了,服务可以启动了,SA进入服务器。

发现只有系统数据库,其他配置和数据库没有了。

5:停止服务,启动单用户模式。

运行:c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn>sqlservr.exe –c –m注意后面的命令少个字母e .是sqlservr不是sqlserver6:打开SSMS工具,先断开连接,再新建查询,不用sa登陆,用系统自带管理员单用户。

输入:use mastergoRESTORE DATABASE masterfrom disk='c:\Program Files\Microsoft SQL Server\MSSQL.1\Backup\master.bak' WITH REPLACE7:重新启动数据库服务,用sa进入系统,可以看到其他数据库出现了。

实验成功!。

如何查询SQL Server备份还原历史记录

如何查询SQL Server备份还原历史记录

如何查询SQL Server备份还原历史记录SQL Server在msdb数据中维护了一系列表,用来存储执行所有备份和还原的细节信息。

即使你正在使用第三方的备份应用程序,只要这个应用程序使用SQL Server的虚拟设备接口(Virtual Device Interface---VDI)来执行备份和还原执行,那么执行细节依然被存储在这一系列表中。

存储细节的表包括:backupsetbackupfilebackupfilegroup (SQL Server 2005 upwards)backupmediasetbackupmediafamilyrestorehistoryrestorefilerestorefilegrouplogmarkhistorysuspect_pages (SQL Server 2005 upwards)你可以在Books Online里面找到上面这些表的具体说明。

下面这个脚本可以帮你找出每个数据库近期的备份信息:SELECT , a.type, MAX(a.backup_finish_date) lastbackupFROM msdb..backupset aINNER JOIN master..sysdatabases b ON a.database_name COLLATE DATAB ASE_DEFAULT = COLLATE DATABASE_DEFAUL TGROUP BY , a.typeORDER BY , a.type指定数据库最后20条事务日志备份信息:SELECT TOP 20 b.physical_device_name, a.backup_start_date, a.first_lsn, er_name FROM msdb..backupset aINNER JOIN msdb..backupmediafamily b ON a.media_set_id = b.media_se t_idWHERE a.type = 'L'ORDER BY a.backup_finish_date DESC指定时间段的事务日志备份信息:SELECT b.physical_device_name, a.backup_set_id, b.family_sequence_num ber, a.position, a.backup_start_date, a.backup_finish_dateFROM msdb..backupset aINNER JOIN msdb..backupmediafamily b ON a.media_set_id = b.media_se t_idWHERE a.database_name = 'AdventureWorks'AND a.type = 'L'AND a.backup_start_date > '10-Jan-2007'AND a.backup_finish_date < '16-Jan-2009 3:30'ORDER BY a.backup_start_date, b.family_sequence_number删除备份日志的两个存储过程:EXEC msdb..sp_delete_backuphistory '1-Jan-2005'EXEC msdb..sp_delete_database_backuphistory 'AdventureWorks'本文翻译自sqlbackuprestore,更多精彩内容请浏览http://www.sqlbackuprestore. com。

数据库镜像-sql2005-三种模式

数据库镜像-sql2005-三种模式

数据库镜像搭建一概述数据库镜像是SQL SERVER 2005用于提高数据库可用性的新技术。

数据库镜像将事务日志记录直接从一台服务器传输到另一台服务器,并且能够在出现故障时快速转移到备用服务器。

可以编写客户端程序自动重定向连接信息,这样一旦出现故障转移就可以自动连接到备用服务器和数据库。

优势:数据库镜像可以在不丢失已提交数据的前提下进行快速故障转移,无须专门的硬件,并且易于配置和管理。

二环境准备操作系统:Window 2003 enterprise sp2(至少两台,如要启用自动故障转移,必需三台) SQL版本:MSSQL SERVER 2005 SP3检查SQL SERVER版本:exec xp_msverselect SERVERPROPERTY('productlevel')数据库准备:准备一个数据库:ccerp_jzt ,备份此数据库还原到另外一台机器上,另外一台必须是with no recovery这里我假设服务器A,B,CA为主体服务器,B为镜像服务器,C为见证服务器A服务器use mastergorestore filelistonly fromdisk=N'f:\databak\ccerp_jzt_backup_200911250100.bak'restore database ccerp_jzt fromdisk=N'f:\databak\ccerp_jzt_backup_200911250100.bak'withreplace,recovery,move'ccerp_ydswzip_Data'to'd:\data\ccerp_jzt.mdf',move'ccerp_ydswzip_Log'to'd:\data\ccerp_jzt_log.ldf'exec sp_helpdb'ccerp_jzt'backup database ccerp_jzt to disk=N'f:\databak\sk.bak'with init --更改恢复模式alter database ccerp_jzt set recovery fullB服务器:CREATE DATABASE ccerp_jztON(NAME= Sales_dat,FILENAME='d:\data\ccerp_jzt.mdf',SIZE= 10)LOG ON(NAME='ccerp_jzt_log',FILENAME='d:\data\ccerp_jzt_log.ldf',SIZE= 5MB)GOrestore filelistonly from disk=N'f:\xxzx\data\sk.bak'use mastergorestore database ccerp_jzt from disk=N'f:\xxzx\data\sk.bak'with replace,norecovery,exec sp_helpdb'ccerp_jzt'C服务器只要装上SQL SERVER 2005就可以,无需其他准备准备完成后如下图所示:三三种模式的搭建数据库镜像要建立必需得建立信任关系,那么在WIN环境下建立信任关系可以通过三种方式:域帐户,证书信任,windows 匿名登陆,现就前两种模式做配置说明.3.1 域帐户模式:3.1.1 更改mssqlserver服务的的登陆方式为域帐户登陆方式:进入windows服务管理控制台,更改服务登陆帐户,使域账户有更改MSSQL SERVER服务状态的权限.三台机器都做同样设置3.1.2 建立端点:通过图形界面建立端点:启动SQLWB,按图一直下一步用域帐户登陆如果成功则:3.2 证书模式3.2.1建立证书&端点参与数据库镜像会话的服务器必须彼此信任。

SQL_Server_2005数据库T备份与恢复

SQL_Server_2005数据库T备份与恢复

13
数据库备份概述
(1)完整备份:
实验2:通过命令行进行完全数据备份实验
第一步:sp_addumpdevice 是系统存储过程,用于创建磁盘备份文件,其基本命 令行如下所示: sp_addumpdevice [@devtype=]'device_type',[@logicalname=]'logical_name',[ @physi calname = ] 'physical_name'[,{[@cntrltype = ] controller_type|[@devstatus=]'device_status' }]
注意:即便是C盘下面没有back文件夹,该命令也可以成功的执行。但是如果在实 际进行磁盘备份中,由于没有该文件夹,将在执行backup database的时候出现 14 错误。
数据库备份概述
(1)完整备份:
实验2:通过命令行进行完全数据备份实验
第二步:将school数据库备份到第一步建立的磁盘备份文件中。 BACKUP DATABASE{database_name|@database_name_var} <file_or_filegroup> [ ,...f ] TO <backup_device> [ ,...n ] ..[[,]{INIT|NOINIT}]
19
数据库备份概述
(2)差异备份:
实验2:在管理平台中进行差异数据备份实验
打开备份向导。在“备份数据库” 窗口中,选择备份类型为“差异”。 在备份的目标中,指定备份到的磁 盘文件位置(本例中为 C:\back\school.bak文件),如 图所示。然后单击“确定”按钮。 备份完成后,可以找到 C:\back\school.bak文件。差异 备份文件要比完全备份文件小得多, 因为它仅备份自上次完整备份后更 改过的数据。

为备份或还原操作指定的设备

为备份或还原操作指定的设备

为备份或还原操作指定的设备太多;只允许指定64个设备。

RESTORE DATABASE 操作异常终止。

当还原数据库时,如果出现“为备份或还原操作指定的设备太多;只允许指定64个设备。

RESTORE DATABASE操作异常终止。

”这个错误时,说明你是在把从SQLServer2005上备份的数据还原到SQLServer2000数据库上。

出现这个错误:1.并不说明你的电脑系统有问题(不用重装系统)。

2.你的SQLServer2005或SQLServer2000数据库安装的有问题(不用重装数据库)。

3.不用破口大骂微软垃圾。

很简单,只要你连接上SQLServer2005的SQLEXPRESS实例。

在SQLServer2005库上还原即可。

下载SQL Server Management Studio Express软件,这是用于连接管理SQLServer2005的工具。

可以帮助你还原数据库,强调一下,虽然使用SQL Server Management Studio Express这个工具了,SQLEXPRESS这个实例才是你要连接的2005数据库(.\SQLEXPRESS)。

而不是(.)或(local),如果是(.)或(local)说明你没有连接上SQLServer2005数据库,还会报错,必须确信你真正连接上了SQLServer2005数据库。

最后总结一下:SQLServer2005和SQLServer2000的备份是不能通用的,因此,当还原数据库时不能搞混,特别是,当从网上下载一些源代码,有些数据库的备份,没有注明是2005还是2000的,当出现以上错误时,说明你是在把从SQLServer2005上备份的数据还原到SQLServer2000数据库上。

需要注意一下。

Sql2005如何还原数据库

Sql2005如何还原数据库

Mssql2005如何还原数据库
1 从开始菜单打开2005的管理器
2 从这里点击还原数据库
3 在弹出的窗口里输入您要还原出来的新数据库的名字选择源设备然后点击后面的.按钮找到备份和位置
点击确定
再点击确定
回到还原界面,选上这个勾
在选项这这个选项卡中重新设置数据库文件存放路径
直接双击这里然后,填写数据库存放路径就可以了,最后的文件名和后缀不要改,默认即可, 比如我是存在放D:\MsSqlData 这个目录下的,改成了如下的位置
这步操作,必须在D:\MsSqlData 这个目录下,没有这两个名字的文件.数据库会自动创建这个名字的两个文件.
点击确定后,
还原成功,再次确定.
至此,数据库还原成功
现在来设置数据库的用户名密码
在这里新建用户名
打开窗口后这里可以填写相关用户名和密码的信息需要摆选择SQL server身份验证这里需要去掉后面的两个勾另外,默认数据库选择您的数据库名字如图所示
确定后,可以看到新建的数据库用户
回到您的数据库中打开安全性用户选项右键新建用户
填写您刚才所创建的用户并在数据库角色成员身份中选择db_owner的选项
确定完成即可,
至此mssql2005下的数据库还原完成.。

Sqlserver2005数据备份还原恢复常用方法

Sqlserver2005数据备份还原恢复常用方法

SQLSERVER2005数据库备份、还原及数据恢复内容一、目的说明-------------------------------------------------------------------- 错误!未定义书签。

二、备份数据库步骤 ----------------------------------------------------------- 错误!未定义书签。

三、还原数据库步骤 ----------------------------------------------------------- 错误!未定义书签。

四、数据库数据恢复步骤------------------------------------------------------ 错误!未定义书签。

五、数据库压缩 ----------------------------------------------------------------- 错误!未定义书签。

六、常见异常处理 -------------------------------------------------------------- 错误!未定义书签。

七、总结 ------------------------------------------------------------------------- 错误!未定义书签。

八、附录:----------------------------------------------------------------------- 错误!未定义书签。

一、目的说明数据库备份是维护数据正确,防止数据丢失的重要手段。

备份点恢复策略可以让数据还原到备份点,通过触发备份的方法,可以提高备份的有效性;采用即时点备份策略,可将数据恢复到任意点,提高数据的安全性;通过性能警报监视事务日志使用情况,及时优化日志文件,可以提高系统性能。

Sql server 2005 自动备份

Sql server 2005 自动备份

Sql sever 2005 自动备份第一步:选择一个目标数据库,建立自动备份存储过程如下图所示:第二步:建立存储过程如下:USE [AutoBackDB]GO/****** 对象: StoredProcedure [dbo].[USP_BackupDatabase] 脚本日期: 12/29/2008 10:59:17 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[USP_BackupDatabase]@databaseName sysnameASBEGINSET NOCOUNT ON;DECLARE @sqlCommand NVARCHAR(1000)DECLARE @dateTime NVARCHAR(20)SELECT @dateTime = REPLACE(CONVERT(VARCHAR, GETDATE(),111),'/','') +REPLACE(CONVERT(VARCHAR, GETDATE(),108),':','')SET @sqlCommand = 'BACKUP DATABASE ' + @databaseName +' TO DISK = ''D:\AutoBackDB\' + @databaseName + @dateTime + '.BAK'''EXECUTE sp_executesql @sqlCommandEND执行此存储过程。

第三步:打开SQL代理服务如下图:第四步:新建代理作业如下图:第五步:设置作业步骤:execute USP_BackupDatabase(存储过程名) etccard(备份的数据库名)第六步:编辑备份计划如下图所示:编辑备份的时间。

sqlserver2005-2008数据库的备份与还原

sqlserver2005-2008数据库的备份与还原

一、数据库存储概述1、数据文件类型• Primary data files:每个数据库都有一个单独的主要数据文件,默认以.mdf扩展名。

主要数据文件不仅包含数据信息,还包含与该数据库结构相关的信息。

创建数据库时,数据库结构相关信息不仅存在于master 数据库中,同时还包含在primary data file 上.• Secondary data files 一个数据库可以有一个或者多个二级数据文件,默认以.ndf为扩展名。

一般来说二级数据文件并不是必须的,因为二级数据文件不包含文件位置等信息。

• Transaction logs: 数据库必须至少有一个事务日志文件,默认以.ldf 为扩展名。

日志是整个数据库的命脉,事务日志不可读的话,将无法对数据库进行任何操作。

当你在数据库上进行数据操作时,数据并不是直接写入数据文件,而是先将相关操作信息写入事务日志文件。

当一个事务结束时,该事务被标记为已提交,但这也并不意味着数据从日志文件写入了数据文件中。

一个标记为已提交的事务仅仅意味着所有与该事务相关的元素已经成功完成。

The buffer cache may be updated, but not necessarily the data file.检查点(checkpoint)会周期性的发生。

检查点发生时,是确认所有已提交的事务, 不管是在buffer cache 或者事务日志中,都被写入相关的数据文件中。

检查点(checkpoint)可以通过以下方式来触发:1、显示调用checkpoint 命令;2、Recover Interval 实例设置的周期达到(用来标识多久发生一次checkpoint )3、做了数据库备份(在简单模式下);4、数据库文件结构被改变(在简单模式下);5、数据库引擎被结束。

一般来说,写数据的过程是由系统自动完成的,如下图所示,但数据并不是直接写入.mdf或者.ndf文件中,而是先将有关变化写入事务日志中,这也是数据库中的write-ahead 机制。

sql server 2005 备份数据库的方法

sql server 2005 备份数据库的方法

sql server 2005 备份数据库的方法【引言】在数据管理中,备份数据库是一项至关重要的任务。

数据丢失可能会导致严重的业务影响,因此了解如何备份数据库是每个数据库管理员必备的技能。

本文将重点介绍如何在SQL Server 2005中备份数据库,以及一些备份策略和注意事项。

【备份数据库的常用方法】在SQL Server 2005中,备份数据库的方法主要有全量备份、增量备份和差异备份。

全量备份是对整个数据库进行备份,包括所有数据和日志。

增量备份仅备份自上次备份以来发生变化的数据。

差异备份则备份自上次全量备份以来发生变化的数据。

【使用SQL Server 2005备份数据库的具体步骤】1.打开SQL Server Management Studio,连接到需要备份的数据库。

2.在“数据库”窗口中,右键点击要备份的数据库,选择“任务”->“备份”。

3.在“备份数据库”窗口中,选择备份类型(全量备份、增量备份或差异备份)。

4.设置备份文件路径和文件名。

5.选择备份方式,如备份到文件或备份到SQL Server存储设备。

6.设置压缩选项(可选)。

7.设置备份进度通知(可选)。

8.点击“确定”开始备份。

【备份策略和注意事项】1.定期备份:根据业务需求和数据重要性,制定合理的备份计划,确保数据安全。

2.异地备份:在不同的地理位置存储备份文件,以防止自然灾害等造成的数据丢失。

3.验证备份:定期验证备份文件是否可用,确保在需要恢复数据时能够顺利进行。

4.备份加密:对于敏感数据,可以使用加密技术保护备份文件。

5.注意备份权限:确保备份操作员具有足够的权限执行备份任务。

【总结】在SQL Server 2005中备份数据库是一项重要且实用的任务。

通过了解备份数据库的方法、具体操作步骤以及备份策略和注意事项,可以帮助数据库管理员更好地保障数据安全。

sql备份还原表语句

sql备份还原表语句

sql备份还原表语句SQL备份和还原表是数据库管理中非常重要的操作,可以帮助我们保护数据并进行灾难恢复。

下面列举10个符合要求的SQL备份还原表语句,以供参考:1. 备份表:```sqlCREATE TABLE backup_table AS SELECT * FROM original_table;```该语句会创建一个名为backup_table的表,并将original_table 的所有数据复制到backup_table中。

2. 备份表结构:```sqlCREATE TABLE backup_table AS SELECT * FROM original_table WHERE 1=0;```该语句会创建一个名为backup_table的表,但不会复制任何数据。

只会复制表结构,用于备份表结构。

3. 还原表数据:```sqlINSERT INTO original_table SELECT * FROM backup_table;```该语句会将backup_table中的数据插入到original_table中,实现还原数据的目的。

4. 还原表结构:```sqlDROP TABLE original_table;CREATE TABLE original_table AS SELECT * FROM backup_table WHERE 1=0;```该语句会先删除原始表original_table,然后根据backup_table 的结构重新创建original_table。

5. 备份指定字段:```sqlCREATE TABLE backup_table AS SELECT column1, column2 FROM original_table;```该语句会创建一个名为backup_table的表,并只复制original_table中的column1和column2字段的数据。

SQLSERVER2005如何实现每日自动备份,加密备份,自动还原。

SQLSERVER2005如何实现每日自动备份,加密备份,自动还原。

SQL2005如何实现每日自动备份功能科普扫盲:主要数据文件:主要数据文件是数据库的起点,指向数据库中文件的其它部分。

每个数据库都有一个主要数据文件。

主要数据文件的推荐文件扩展名是 .mdf。

次要数据文件:次要数据文件包含除主要数据文件外的所有数据文件。

有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。

次要数据文件的推荐文件扩展名是 .ndf。

日志文件:日志文件包含恢复数据库所需的所有日志信息。

每个数据库必须至少有一个日志文件,但可以不止一个。

日志文件的推荐文件扩展名是 .ldf我们创建的时候,还记得要我们指定数据库这2个文件的存在位置吗?其实MDF用来存在主要数据,而LDF是存在日志数据的(比如系统日志、登陆帐号等)而且随着时间的流逝,这2个数据库文件中存在的数据越来越大50G 100G都有可能;数据库恢复,真正意义上其实就是在恢复这2个文件而已。

1、管理---维护计划2、新建计划---采用维护计划向导3、开始设置4、选择数据库5、备份路径设置6、设置执行周期7、设置完成在Agent代理作业中,将会出现前面我们设置的每日备份计划以后,我们可以手工来人为执行作业也可以到历史日志中查看请注意2点:1、这种备份是没办法做到定期删除过期的数据库的。

它不象2000数据库,里面还有个设置删除多少时间之前的数据库备份文件;2、这种备份是无法做到加密备份的。

加密备份与恢复Alter FUNCTION GetMaxMinDate(@Term smalldatetime,@Type nVarchar(10),@Period Integer) RETURNS SmalldatetimeASBeginDeclare @Ret SmalldatetimeSelect @Ret=Case @Period When 1 ThenCase @Type When 'MAX' ThenDateAdd(Day,-1,Dateadd(Month,+12,Convert(varchar(5),@Term,120)+'01-01'))ElseConvert(varchar(5),@Term,120)+'01-01'EndWhen 2 ThenCase @Type When 'MAX' ThenDateAdd(Day,-1,Dateadd(Month,+3,Convert(varchar(5),@Term,120)+Right('00'+Cast(Ceiling(D atepart(Month,@Term)/3.0)*3-2 As varchar(2)),2)+'-01'))ElseConvert(varchar(5),@Term,120)+Right('00'+Cast(Ceiling(Datepart(Month,@Term)/3.0)*3-2 As varchar(2)),2)+'-01'EndWhen 3 ThenCase @Type When 'MAX' ThenDateAdd(Day,-1,Dateadd(Month,+1,Convert(varchar(8),@Term,120)+'01'))ElseConvert(varchar(8),@Term,120)+'01'EndEndReturn @RetEndgoCreate Procedure SkyDBAddPWDBackUpWith ENCRYPTIONAs----- 数据库加密备份在后台用Job去完成Declare @SQl nVarchar(2000) ,@DD DateTime ,@Int Int---- 备份数据库Set @SQl='BACKUP DATABASE Exel TO DISK = N''d:\Exel'+Convert(Varchar(10),GetDate(),120)+'.Ba k''WITH INIT, NOUNLOAD ,PASSWORD=N''michelinSP'', NAME =N''HRBackUp'+Convert(Varchar(10),GetDate(),120)+''' , NOSKIP , STATS =100, DESCRIPTION = N'''', NOFORMAT'Exec (@SQl)---- 删除上月数据Set @DD = dbo.GetMaxMinDate(GetDate(),'Min',3)Set @Int = Day(DateAdd(Day , -1 , dbo.GetMaxMinDate(GetDate(),'Min',3)))While @Int > 0BeginSet @SQl= 'master..xp_cmdshell ''del d:\Exel'+Convert(Varchar(10),DateAdd(Day,-1*@Int, @DD),120)+'.Bak'', NO_OUTPUT'Exec (@SQl)Set @Int = @Int - 1EndReturngo--- 恢复RESTORE DATABASE HRFROM DISK = 'c:\Northwind.bak'WITH Password=’qwert’,MOVE 'Northwind' TO 'c:\test\testdb.mdf',MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'GO疑问:1、原来客户这边每天自动备份都运转正常,为何最近停止了?H.T 2011-9-6 编辑答复:可能性比较大的是HR将DBO的密码修改了,而Agent服务并未重启,所以导致Agent 暂时跑不起来了。

sql server 2005 备份数据库的方法

sql server 2005 备份数据库的方法

SQL Server 2005是Microsoft SQL Server系列数据库管理系统的一个版本,它提供了丰富的功能和工具来帮助用户管理数据库。

其中备份数据库是数据库管理中的重要操作之一,它可以帮助用户在数据库发生故障或数据丢失的情况下及时恢复数据。

本文将介绍SQL Server 2005备份数据库的方法,包括全备份、差异备份和日志备份等。

一、全备份1. 全备份是指将整个数据库的所有数据和日志都备份到一个文件中,它是数据库备份中最基本的一种类型。

全备份的操作方法如下:a. 打开SQL Server Management Studio,连接到目标数据库服务器。

b. 在“对象资源管理器”中,选择要备份的数据库,右键单击该数据库,选择“任务”->“备份”。

c. 在弹出的“备份数据库”对话框中,选择“完整”,并指定备份文件的位置和名称。

d. 点击“确定”按钮,开始执行全备份操作。

二、差异备份2. 差异备份是指将自上次全备份或差异备份以来所做的更改备份到一个文件中,它可以减少备份时间和备份文件的大小。

差异备份的操作方法如下:a. 打开SQL Server Management Studio,连接到目标数据库服务器。

b. 在“对象资源管理器”中,选择要备份的数据库,右键单击该数据库,选择“任务”->“备份”。

c. 在弹出的“备份数据库”对话框中,选择“差异”,并指定备份文件的位置和名称。

d. 点击“确定”按钮,开始执行差异备份操作。

三、日志备份3. 日志备份是指备份数据库事务日志的操作,它可以帮助用户恢复到某个特定的事务点。

日志备份的操作方法如下:a. 打开SQL Server Management Studio,连接到目标数据库服务器。

b. 在“对象资源管理器”中,选择要备份的数据库,右键单击该数据库,选择“任务”->“备份”。

c. 在弹出的“备份数据库”对话框中,选择“日志”,并指定备份文件的位置和名称。

SQL 2005 还原数据库

SQL 2005 还原数据库

SQL 2005 还原数据库操作手顺1.还原数据库
右键数据库,点击“还原数据库”
2.常规
在【还原的目标】中命名目标数据库为“chisdb_yhd”,在【还原的源】中选择源设备,点击按钮出现指定备份框
3.制定备份
点击“添加”按钮,
4.定位备份文件
文件路径:根据备份文件存放在电脑的地方查找,找出所需要还原的文件,点击“确定”
5.指定备份
在指定备份中,备份位置显示框会出现所添加的文件,点击“确定”进行还原
6.还原数据库
在需要还原的文件前打勾,点击“确定”等待还原的进度
7.数据库还原完成
数据库还原操作成功,点击“确定”
如果还原数据失败,要进行数据修改路径以及覆盖操作
勾选完还原文件后,点击【选项】在还原选项中勾选【覆盖现有数据库】复选框,对原始文件名进行路径更改,并且查看后缀以【mdf】和【ldf】还原文件是否都存在,如果是因为缺少“表数据文件和日志文件”就要在数据库安装的根目录下增加一个新的表数据文件或
日志文件,增加路径:C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data 中,增加后进行从还原路径中找到增加的文件并且进行覆盖操作,点击【确定】按钮就可以成功完成对数据库的还原操作了。

8.数据库名称显示栏
在数据库显示栏中能够显示出所还原的数据库,操作成功。

SQL2005数据库备份如何还原到SQL2000数据库中

SQL2005数据库备份如何还原到SQL2000数据库中

以前帮客户做了一个网站.是VS2005+2000的数据库后来不知道为什么..将数据库转为2005的了..过了一段时间又要转成2000的..郁闷至极..主要是从来没弄过..结果就到网上去找..找了整整一个上午.终于将这个问题解决..可能有点麻烦..有高手还望指正!一,首先将05的数据库备份还原到本机的05中通过在空的数据库上右键-任务-还原来完成二,在05数据库上右击-任务-生成脚本1,选择数据库2,在选择脚本选项中,找到:为服务器版本编写脚本,后面选择SQL SERVER 2000...这一步最重要,否则会出错3,接下来就一步一步执行就OK了三,将生成的SQL脚本复制到SQL2000的数据库中的SQL查询分析器中执行..这样就将05数据库备份的数据库结构弄过来了..这里只是完成了一半.接下来更重要! 四,在SQL2000的数据库上右建-所有任务-导入数据1,选择数据源. 服务器就选择SQL2005的数据库服务器,数据库选择你要导入的05数据库中的数据库名2,选择目的.这里就是SQL2000数据库中要导入的数据库了3,接下来就是一步一步执行就OK了到这里就算大功告成了..你成功了没?!我的操作以在SQL2005环境下为例:1、新建一个数据库(例如:abc)2、右键点击abc数据库,在弹出的菜单中选择“任务”-->“还原”-->“数据”3、选择需要备份的数据库文件(录入:123.bak)4、点击“选项”,选择“覆盖现有数据库”5、点击“物理路径”,修改为“ABC”数据库的文件路径。

(也就是把还原的数据库文件,包括事务日志文件,点选为ABC数据库的数据库文件和事务日志文件,起到覆盖的效果)6、点击“确定”,系统就开始还原了。

在SQL Server 2005数据库中实现自动备份博客分类:SQL2005SQL ServerSQL企业应用应用服务器OS[总结]SqlServer中如何实现自动备份数据!第1种方法:企业管理器--管理--右键数据库维护计划--新建维护计划--<下一步>--选择你要备份的数据库--<下一步>直到"指定数据库备份计划"这项--指定存储备份文件的位置,这里根据需要选择备分到磁带还是磁盘--单击调度后面的"更改"按纽--定义你的数据备份计划的时间安排,完成后确定--<下一步>--这里可以设置备份文件的保留时间和备文件的扩展名--<下一步>--选择是否做日志备份计划--<下一步>直到完成.然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行第2种方法:企业管理器--管理--SQL Server代理--右键作业--新建作业--"常规"项中输入作业名称--"步骤"项--新建--"步骤名"中输入步骤名--"类型"中选择"Transact-SQL 脚本(TSQL)"--"数据库"选择执行命令的数据库--"命令"中输入要执行的语句: backup database 数据库名称 to disk='c:\备份文件名.bak'--确定--"调度"项--新建调度--"名称"中输入调度名称--"调度类型"中选择你的作业执行安排--如果选择"反复出现"--点"更改"来设置你的时间安排然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行第3种方法:建作业:企业管理器中,管理——》SQL SERVER代理——》作业——》鼠标右键新建作业——》常规页中输入名称——》步骤页中新建步骤、输入名称、加入SQL语句:——》调度页中新建调度、输入名称,选择反复出现,更改时间——》OK完了之后,若没有启动SQL Agent,则在服务管理器——》SQL Agent选上当启动OS时自动启动再在企业管理器中,鼠标右键刚才建的作业——》启动作业——》OK----在加入SQL语句:——里写入以下的语句,并修改数据库名和备份的目录declare @filedir varchar(200),@dir varchar(200)declare @dbname varchar(50),@bakname varchar(50),@sql varchar(4000) select @filedir=filename from sysfilesset @dir=''while charindex('\',@filedir)<>0beginset @dir=@dir+left(@filedir,charindex('\',@filedir))set@filedir=substring(@filedir,charindex('\',@filedir)+1,len(@filedir)-c harindex('\',@filedir))endset @bakname='bak'+cast(datepart(weekday,getdate())-1 as varchar(1)) -----指定数据库set @dbname='scmbuilder'set @sql='BACKUP DATABASE ['+@dbname+'] TO DISK =N'''+'e:\sqlbak\'+@bakname+'''WITH INIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT'--备份文件到"e:\sqlbak\"目录下exec(@sql)备份时可能会降低应用程序对数据库的操作性能,但SQL会协调好的,只是应用程序操作数据库可能会慢一些在把SQL Agent服务启动时遇到了问题,启动不了,报如下错误:服务并未返回错误。

SQL Server 2005数据库可疑恢复

SQL Server 2005数据库可疑恢复

SQL Server数据库1SQL Server 2005数据库可疑恢复日常对Sql Server 2005联系数据库执行操作时,有时对数据库(如:Sharepoint站点配置数据库名Sharepoint_Config)执行些不正常操作如数据库在读写时而无故停止数据库,从而导致Sql Server 2005数据库不正常中断,当再次打开数据库时会发觉某些数据库会被标记为“可疑”(suspect),即在数据库名旁加上了黄色的惊叹号,这时数据库就不能再被打开了,但数据库的结构及数据内容都还是存在的处理要领当数据库发生这种操作故障时,可以按如下操作步骤可处理此要领,打开数据库里的Sql 查询编辑器窗口,运行以下的命令●修改数据库为紧急模式ALTER DATABASE Sharepoint_Config SET EMERGENCY●使数据库变为单用户模式ALTER DATABASE Sharepoint_Config SET SINGLE_USER●修正数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象不正确。

当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修正报告的不正确。

但是,这些修正可能会导致一些数据丢失。

DBCC CheckDB (Sharepoint_Config , REPAIR_ALLOW_DATA_LOSS●使数据库变回为多用户模式ALTER DATABASE Sharepoint_Config SET MULTI_USER●开始->运行->输入cmd->打开DOS命令窗口,输入以下命令重启数据库服务Net stop mssqlserver --停止服务Net start mssqlserver --启动服务再次,打开Sql Server 2005时被标记为“可疑”的数据库已还原正常状态ALTER DATABASE v5_dl_g SET EMERGENCYALTER DATABASE v5_dl_g SET SINGLE_USERDBCC CheckDB (v5_dl_g , REPAIR_ALLOW_DATA_LOSS)ALTER DATABASE v5_dl_g SET MULTI_USER2SQL Server数据库文件恢复及数据库置疑SQL Server 2000数据库不知什么原因变成置疑,在企业管理器里面看是置疑,在DATA 里面有MDF和LOG这两个文件,换一台机器附加时报错:备份数据文件,然后按以下的步骤来进行处理:1.新建一个同名的数据库(数据文件与原来的要一致)2.再停掉sql server(注意不要分离数据库)4.再重启sql server5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。

Acronis软件备份还原教程

Acronis软件备份还原教程

备份还原教程
打开备份还原软件
进入软件界面,选择Backup and Restore(备份和还原)
出现以下界面是,选择Backup(备份)
之后点Next下一步
出现下面对话框时My Computer(备份计算机)My Data(备份数据)My Application Settings (备份我的设置)My E-mail(备份我的邮件)这里我们选择My Computer(备份计算机)
接着我们选择Disks and partitions(选择备份的磁盘)
选择c盘点Next
点Next下一步
接下来出现的对话框是选择备份的位置,这里我选D盘写上备份的文件名,点Next下一步
下来选择备份方式,选Create a new full backup archive(全新备份)
选择Use default options(选择默认选项)
这里是写存档备注随便写
直接点Proceed(进行)
正在备份….
备份顺利完成
如果要还原的话,选择Restore(还原)
点Next下一步
选择备份好的文件点Next下一步
选择Restore disks or partitions(要恢复的分区或磁盘)点Next下一步
选C盘点Next下一步
选C盘点Next下一步
选择Active(分区类型)点Next下一步
选择FA T32点Next下一步
直接点Next下一步
默认选Y es点Next下一步
默认选No点Next下一步
选Use default options(使用默认选线)点Next下一步
点Proceed(进行)
点Reboot(重启计算机)
重启之后进去还原界面,等待还原结束。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

寒山sql数据库修复中心/备份与还原概述: 数据库备份与还原: 备份是在数据库灾难发生时的最后一道防线-->"备份、备份、再备份"SQL Server 2005备份与还原增强特性提高了系统的可用性-->部分备份、备份镜像……在线还原、分段还原、页面级还原数据库的恢复模式: 数据库的恢复模式控制备份和还原的行为三种恢复模式: 简单恢复模式-->事务日志被自动截断,不能使用日志文件进行恢复完整恢复模式-->保留所有操作的完整事务日志大容量日志恢复模式-->简要记录大容量操作(索引创建和大容量加载)的日志,完整记录其它事务的日志数据库恢复模式的选择-->见下列表:还原操作优点数据丢失情况恢复到即时点简单恢复模型高性能大容量复制操作,最小的日志空间占用数据库备份后所做的更改丢失只能恢复到备份时刻大容量日志高性能大容量复制操作,较小的日志空间占用会丢失备份后大容量操作的数据可以恢复到任意备份的结尾完全最小的数据丢失可能,恢复到即时点日志不损坏将不丢失任何数据恢复到任意时间点数据库的恢复模式和所支持的还原操作-->见下列表:还原操作完整还原模式大容量日志还原模式简单还原模式数据还原日志可用时完整还原某些数据丢失上次完整或者差异备份后的数据丢失即时点还原日志所包含的任何时间日志中包含大容量操作时不允许不支持文件级还原完全支持不完全支持仅对.ndf辅助文件可用页面级还原完全支持不完全支持无文件组还原完全支持不完全支持仅对.ndf辅助文件可用创建数据库备份: 数据库备份-->完整数据库备份: 包含数据库中的所有数据为差异、事务日志备份创建基准数据库差异数据库备份: 差异备份比基准备份小而且备份速度快,便于经常性的备份任务新特性: 不同于SQL Server的前期版本,在SQL Server 2005中,所有数据和差异备份均包含日志记录部分备份和部分差异备份-->部分备份: 包含主文件组、每个读写文件组及任何指定只读文件中的所有数据只读数据库的部分备份仅包含主文件组READ_WRITE_FILEGROUPS 应用场景: 在最后一次完整备份后,拥有一个或多个只读文件组的情况[BACKUP DATABASE Northwind READ_WRITE_FILEGROUPS TO DISK='C:\NWBackup.BAK' 文件和文件组备份-->针对大型数据库,可以分别备份和还原数据库中的文件: 仅还原已损坏的文件,而不必还原数据库的其余部分文件差异备份: 不要对同一数据库进行数据库差异备份和文件差异备份简单还原模式的限制: 只能对只读文件和文件组进行备份增加了备份和还原管理的复杂性事务日志备份-->通过事务日志备份可以将数据库恢复到即时点必须至少有一个完整数据库备份基础尾日志备份: 在恢复数据库前保存尚未备份的日志数据SQL Server 2005要求先备份日志尾部,然后再还原当前的数据库使用选项NORECOVERY或NO_TRUNCATE 使用COPY_ONLY备份选项-->在不打断正常备份系列的情况下复制数据库内容: 不截断事务日志,不包含在要进行还原的日志系列中该备份将不依赖于任何其它备份[BACKUP DATABASE AdventureWorks TO AWBackup WITH COPY_ONLY]确保备份完整性的选项-->在BACKUP和RESTORE中使用带有CHECKSUMS选项: 验证页校验和备份时生成整个备份的校验和使用RESTORE VERIFYONLY: 备份集是否完整以及所有卷是否可读页ID(如同要写入数据) 校验和(如果显示在媒体上) 检查目标设备上是否具有足够的空间镜像备份媒体-->通过提供冗余来提高备份的可靠性包含两个到四个镜像,每个镜像包含每个媒体簇的所有卷。

每个镜像要求每个媒体簇都有单独的备份设备通过将数据同步写入设备来保证镜像媒体具有相同的内容-->见下图:如何使用镜像备份媒体集呢?1.全选创建备份设备语句--按执行之后就创建一个叫做NwBackupDevice的备份设备了2.全选修改数据库中的数据的语句--按执行之后就把Employees表里面的内容修改了3.接下来就执行一个完全的数据库备份了全选执行完整数据库备份的语句--按执行注意: NW这个数据库其实就是NorthWind这个数据库我把它从SQL Server 2000中拿出来,然后添加到SQL Server 2005里面展开服务器对象--备份设备--可以看到已经创建了一个叫做NwBackupDevice的备份设备了对着NwBackupDevice这个备份设备右键--选择属性--按媒体内容--可以看到有一个完整的数据库备份1.全选使用COPY ONLY数据库仅复制数据库备份的语句--按执行2.全选使用READ_URITE_FILEGROUPS选项进行部分备份的语句--按执行之后就只备份主文件组和读写的文件组那么对于其它的只读文件组是不做备份的展开数据库--对着NW这个数据库右键--选择属性--按文件组之后可以看到一共有4个文件组其中有一个是主文件组USE master -->全选这条语句--按执行之后就得到9个介质了其实是三个媒体集在C盘DBBackup这个文件夹里面可以看到9个备份介质GoBACKUP DATABASE NorthwindTo DISK = 'C:\DBBackup\A-1.BAK',DISK = 'C:\DBBackup\A-2.BAK',DISK = 'C:\DBBackup\A-3.BAK'MIRROR TO DISK = 'C:\DBBackup\B-1.BAK',DISK = 'C:\DBBackup\B-2.BAK',DISK = 'C:\DBBackup\B-3.BAK'MIRROR TO DISK = 'C:\DBBackup\C-1.BAK',DISK = 'C:\DBBackup\C-2.BAK',DISK = 'C:\DBBackup\C-3.BAK'WITH FORMAT,MEDIANAME = 'AdventureWorksSet1'Go如果三个镜像媒体集中目前只有A-1、B-2、C-3这三个媒体集可用的话此时怎么办呢? 我们可以使用来自不同镜像集中媒体来还原数据库USE master -->全选这条语句--按执行之后来自不同媒体集的文件就成功进行还原了GoRESTORE DATABASE NorthwindFROM DISK = 'C:\DBBackup\C-3.BAK', DISK = 'C:\DBBackup\B-2.BAK', DISK = 'C:\DBBackup\A-1.BAK'WITH FILE = 1, REPLACEGo从备份中还原数据库: 数据库还原过程原理-->数据库还原阶段的过程: 数据库复制阶段-->从数据库的备份媒体将所有数据、日志和索引页复制到数据库文件中重做阶段(Redo)/前滚(Roll Forward)-->将记录的事务应用到从备份复制的数据,以将这些数据前滚到恢复点撤销阶段(Undo)/回滚(Roll Back)-->回滚所有未提交的事务并使用户可以使用此数据库,回滚阶段后将无法还原后续的备份数据库还原选项-->RECOVERY选项: 完成重做和撤消两个阶段数据库处于一致状态,完成后数据库在线NORECOVERY选项: 不执行撤消阶段以保留未提交的事务允许还原其他备份以将数据库进一步前滚即时点还原-->支持数据库备份的即时点还原: 在SQL Server 2005之前的版本中只支持事务日志的及时点还原使用STOPAT选项指明时间点[RESTORE DATABASE AdventureWorks FROM AWBackup WITH RECOVERY ,STOPAT='Mar 1,2006 2:00 PM' 执行段落还原-->通过段落还原分阶段逐步恢复由多个文件组组成的数据库: 未恢复文件组被标记为离线,其中的数据不可访问还原步骤: 还原主文件组和需要立即使用的辅助文件组在以后通过逐步还原其它辅助文件组[RESTORE DATABASE AWTemp FILE='AdventureWorks_data_1' FROM AWBackupWITH PARTIAL,MOVE'AdventureWorks_data_1'TO'AWTemp_data_1.mdf']执行页面还原-->通过执行页面还原对数据库中损坏的页进行修复获取页面损坏信息: SQL Server错误日志msdb.dbo.suspect_pages表中[RESTORE DATABASE AdventureWorksPAGE='AdventureWorks_data_1:832'FROM AWBackup]数据库的在线还原-->数据库在进行部分还原时仍处于在线可用状态限制条件:只有SQL Server 2005企业版本支持只能应用在完整或者大容量日志恢复模型正在还原的部分不可用默认情况下对文件和页的还原自动以在线还原形式执行如何从数据库备份中还原数据呢?1.全选将数据库还原到即时点的语句--按执行之后这个数据就被成功还原而且向它形成了一个指定的时间点展开数据库--按F5键来刷新一下可以看到NW这个数据库的显示状态是正在还原2.全选完成数据库恢复过程的语句--按执行之后--然后展开数据库--按F5键来刷新一下就可以看到NW这个数据库在线了可以使用NW这个数据库了USE master -->全选这条语句--按执行之后就生成了一个叫做NwTmp的数据库了这个数据库包含了主文件组和ReadWriteFG文件组GoRESTORE DATABASE NwTmp FILEGROUP='ReadWriteFG'FROM NwBackupDeviceWITH FILE =3,MOVE N'Northwind'To N'C:\tmp\NW.mdf',MOVE N'ReadWriteFile' TO N'C:\tmp\ReadWriteFile.ndf',MOVE N'Northwind_log' TO N'C:\tmp\NW.ldf',NOUNLOAD, STATS = 10,REPLACEGo2.全选查询Customers表的语句--按执行之后就可以看到表的内容了3.全选查询Employees表的语句--按执行之后就看到错误了为什么错误呢? 因为我们只是分段地还原了ReadWriteFG这样一个文件组而Employees表是在另一个文件组所以数据是不在线的从数据库快照中恢复数据: 什么是数据库快照? 在一个时间点数据库一致状态的只读副本-->和源数据库必须同在一个服务器实例为同一个数据库可以创建多个数据库快照对于数据库的测试,报表创建和开发非常有用是对数据库备份和还原的一种补充-->见下图: 能从数据库快照中还原的数据(1)-->恢复被更新的数据[UPDATE HumanResources DepartmentSET Name=(SELECT NameFROM AdventureWorks_dbsnapshot_1800 HumanResource DepartmentWHERE DepartmentID=1)WHERE DepartmentID=1]能从数据库快照中还原的数据(2)-->恢复被删除的行[ALTER TABLE Production WorkOrderRoutingNOCHECK CONSTRAINT CK_WorkOrderRouting_ActualEndDateINSERT INTO Production WorkOrderRoutingSELECT * FROM AdventureWorks_dbsnapshot_1800 Production WorkOrderRoutingALTER TABLE Production WorkOrderRoutingCHECK CONSTRAINT CK_WorkOrderRouting_ActualEndDate能从数据库快照中还原的数据(3)-->恢复被删除的对象: 由快照数据库中对象生成脚本在当前数据库中运行脚本恢复删除的对象能从数据库快照中还原的数据(4)-->将数据库恢复到快照时的状态[RESTORE DATABASE AdventureWorksFROM DATABASE_SNAPSHOT='AdventureWorks_dbsnapshot_1800'如何使用数据库快照备份和还原数据呢?USE Adventureworks -->全选这条语句--按执行之后--打开C盘里面的SnapshotData这个文件夹之后就可以看到已经成功创建了一个叫做AdventureWorks_Data.mdf的快照了GOCREATE DATABASE AdventureWorks_dbsnapshot_1800ON (NAME = AdventureWorks_Data, FILENAME = 'C:\SnapshotData\AdventureWorks_Data.mdf')AS SNAPSHOT OF AdventureWorksGo1.全选查询快照数据库的语句--按执行之后就可以看到数据里面的内容了其实跟AdventureWorks这个数据库里面的内容是完全一样的2.全选在快照数据库中尝试更新的语句--按执行之后就会发现失败为什么呢? 因为数据库快照里面的数据是只读的3.全选检测数据库快照文件占用空间的大小,修改源数据中的数据的语句--按执行之后然后打开C盘里面的SnapshotData这个文件夹--对着AdventureWorks_Data.mdf这个快照右键--选择属性--可以看到占用空间的大小比以前大了这就说明了我们刚才对源数据库做修改的时候原来的数据就会被复制到快照数据库里面相应的数据文件中5.全选验证修改,对比源数据库和快照数据库中的数据变化语句--按执行之后就可以看到源数据库表和快照数据库表的内容了1.全选删除源数据库表Production.WorkOrderRouting中的行的语句--按执行之后就删除源数据库表Production.WorkOrderRouting中的行了E AdventureWorks -->全选恢复删除的数据行这条语句--按执行之后就把刚才误删除的那些数据还原回去GoALTER TABLE Production.WorkOrderRoutingNOCHECK CONSTRAINT CK_WorkOrderRouting_ActualEndDateGoINSERT INTO Production.WorkOrderRoutingSELECT * FROM AdventureWorks_dbsnapshot_1800.Production.WorkOrderRoutingALTER TABLE Production.WorksOrderRoutingCHECK CONSTRAINT CK_WorkOrderRouting_ActualEndDate本文来自sql数据库修复大师/soft/57122.html/ShowFile.asp?FileID=246018 备份与还原概述: 数据库备份与还原: 备份是在数据库灾难发生时的最后一道防线-->"备份、备份、再备份"SQL Server 2005备份与还原增强特性提高了系统的可用性-->部分备份、备份镜像……在线还原、分段还原、页面级还原数据库的恢复模式: 数据库的恢复模式控制备份和还原的行为三种恢复模式: 简单恢复模式-->事务日志被自动截断,不能使用日志文件进行恢复完整恢复模式-->保留所有操作的完整事务日志大容量日志恢复模式-->简要记录大容量操作(索引创建和大容量加载)的日志,完整记录其它事务的日志数据库恢复模式的选择-->见下列表:还原操作优点数据丢失情况恢复到即时点简单恢复模型高性能大容量复制操作,最小的日志空间占用数据库备份后所做的更改丢失只能恢复到备份时刻大容量日志高性能大容量复制操作,较小的日志空间占用会丢失备份后大容量操作的数据可以恢复到任意备份的结尾完全最小的数据丢失可能,恢复到即时点日志不损坏将不丢失任何数据恢复到任意时间点数据库的恢复模式和所支持的还原操作-->见下列表:还原操作完整还原模式大容量日志还原模式简单还原模式数据还原日志可用时完整还原某些数据丢失上次完整或者差异备份后的数据丢失即时点还原日志所包含的任何时间日志中包含大容量操作时不允许不支持文件级还原完全支持不完全支持仅对.ndf辅助文件可用页面级还原完全支持不完全支持无文件组还原完全支持不完全支持仅对.ndf辅助文件可用创建数据库备份: 数据库备份-->完整数据库备份: 包含数据库中的所有数据为差异、事务日志备份创建基准数据库差异数据库备份: 差异备份比基准备份小而且备份速度快,便于经常性的备份任务新特性: 不同于SQL Server的前期版本,在SQL Server 2005中,所有数据和差异备份均包含日志记录部分备份和部分差异备份-->部分备份: 包含主文件组、每个读写文件组及任何指定只读文件中的所有数据只读数据库的部分备份仅包含主文件组READ_WRITE_FILEGROUPS 应用场景: 在最后一次完整备份后,拥有一个或多个只读文件组的情况[BACKUP DATABASE Northwind READ_WRITE_FILEGROUPS TO DISK='C:\NWBackup.BAK' 文件和文件组备份-->针对大型数据库,可以分别备份和还原数据库中的文件: 仅还原已损坏的文件,而不必还原数据库的其余部分文件差异备份: 不要对同一数据库进行数据库差异备份和文件差异备份简单还原模式的限制: 只能对只读文件和文件组进行备份增加了备份和还原管理的复杂性事务日志备份-->通过事务日志备份可以将数据库恢复到即时点必须至少有一个完整数据库备份基础尾日志备份: 在恢复数据库前保存尚未备份的日志数据SQL Server 2005要求先备份日志尾部,然后再还原当前的数据库使用选项NORECOVERY或NO_TRUNCATE 使用COPY_ONLY备份选项-->在不打断正常备份系列的情况下复制数据库内容: 不截断事务日志,不包含在要进行还原的日志系列中该备份将不依赖于任何其它备份[BACKUP DATABASE AdventureWorks TO AWBackup WITH COPY_ONLY]确保备份完整性的选项-->在BACKUP和RESTORE中使用带有CHECKSUMS选项: 验证页校验和备份时生成整个备份的校验和使用RESTORE VERIFYONLY: 备份集是否完整以及所有卷是否可读页ID(如同要写入数据) 校验和(如果显示在媒体上) 检查目标设备上是否具有足够的空间镜像备份媒体-->通过提供冗余来提高备份的可靠性包含两个到四个镜像,每个镜像包含每个媒体簇的所有卷。

相关文档
最新文档