怎么用SQL语句备份和恢复数据库
SQL语句备份和恢复
SQL Server:
备份命令:
BACKUP DATABASE test
TO disk = ‘c:test’
WITH FORMAT,
NAME = ‘Full Backup of MyNwind’
解释如下:
NAME = ‘Full Backup of MyNwind’ 这个是备注,随便写。
还原命令:
USE master
GO
RESTORE DATABASE test_wt
FROM disk = ‘c:test_wt’
GO
MySQL:
备份:
mysqldump u root p database_name >d:*
恢复:
mysql u root p database_name 注意:在WIN下,路径用path/*是不行的,那就用path*
sql数据库备份语句
完整备份
Backup Database NorthwindCS
To disk=’G:BackupNorthwindCS_Full_*’
差异备份
Backup Database NorthwindCS
To disk=’G:BackupNorthwindCS_Diff_*’
With Differential
日志备份,默认截断日志
Backup Log NorthwindCS
To disk=’G:BackupNorthwindCS_Log_*’
日志备份,不截断日志
Backup Log NorthwindCS
To disk=’G:BackupNorthwindCS_Log_*’
With No_Truncate
截断日志不保留
Backup Log NorthwindCS
With No_Log
或者
Backup Log NorthwindCS
With Truncate_Only
截断之后日志文件不会变小
有必要可以进行收缩
文件备份
Exec Sp_Helpdb NorthwindCS 查看数据文件
Backup Database NorthwindCS
File=’NorthwindCS’ 数据文件的逻辑名
To disk=’G:BackupNorthwindCS_File_*’
文件组备份
Exec Sp_Helpdb NorthwindCS 查看数据文件
Backup Database NorthwindCS
FileGroup=’Primary’ 数据文件的逻辑名
To disk=’G:BackupNorthwindCS_FileGroup_*’
With init
分割备份到多个目标
恢复的时候不允许丢失任何一个目标
Backup Database NorthwindCS
To disk=’G:BackupNorthwindCS_Full_*’
,disk=’G:BackupNorthwindCS_Full_*’
镜像备份
每个目标都是相同的
Backup Database NorthwindCS
To disk=’G:BackupNorthwindCS_Mirror_*’
Mirror
To disk=’G:BackupNorthwindCS_Mirror_*’
With Format 第一次做镜像备份的时候格式化目标
镜像备份到本地和远程
Backup Database NorthwindCS
To disk=’G:BackupNorthwindCS_Mirror_*’
Mirror
To disk=’\192.168.1.200BackupNorthwindCS_Mirror_*’
With Format
每天生成一个备份文件
Declare @Path Nvarchar(2000)
Set @Path =’G:BackupNorthwindCS
sql语句数据库备份简述SQLServer中四种类型的备份方法的含义 爱问
数据库备份可以分为4个备份类型。
l 全备份:创建备份完成时数据库内存在的数据的副本。l 差异备份:只记录自上次数据库备份后发生更改的数据。
差异数据库备份比数据库备份小,而且备份速度快,因此可以更经常地备份,经常备份将减少丢失数据的危险。 l 日志备份:是自上次备份事务日志后对数据库执行的所有事务的一系列记录。
可以使用事务日志备份将数据库恢复到特定的即时点(如输入多余数据前的那一点)或恢复到故障点。l 文件组备份:可以备份和还原数据库中的个别文件。
可以只还原已损坏的文件,而不用还原数据库的其余部分,从而加快了恢复速度。不同的备份类型适用的范围也不同。
全备份,可以只用一步操作完成数据的全部备份,但执行时间比较长。差异备份和日志备份,都不能独立作为一个备份集来使用,需要进行一次全备份。
文件备份必须与事务日志备份一起使用,所以文件备份只适用于完全恢复模型和大容量日志记录恢复模型。 每一种备份类型都有不足之处,要针对需要选择备份类型,或者使用几种备份方式的配合来完成数据库的备份。
经常使用备份方式组合有以下几种:l 全备份+差异备份:以一周为周期,星期日进行全备份,星期一到星期六每天进行差异备份。l 全备份+日志备份:以一周为周期,星期日进行全备份,星期一到星期六每天进行日志备份。
l 文件组备份+日志备份:备份周期取决于数据库的大小和能力,每周期分别进行一部分数据文件备份,每天进行日志备份。
sql 语句 数据库备份
给你一个vb版本的作为参考吧,思路应该一样。
还原:Private Sub restoreButton_Click() If * <> “” Then ‘如果路径不为空 If Dir(*, vbDirectory) <> “” Then ‘如果路径所在的文件存在,即路径正确 sqlString = “RESTORE DATABASE patrol FROM disk = ‘” & * & “‘” Set rs = accessSQL(sqlString) Unload Me MsgBox “数据库还原成功!”, vbOKOnly, “成功!” Else MsgBox “找不到该文件!”, vbOKOnly, “提示!” End If Else ‘如果文件路径为空 MsgBox “文件路径不能为空”, vbOKOnly, “提示!” End IfEnd Sub备份:Private Sub backupButton_Click()If * <> “” Then ‘如果路径为空 If Dir(*, vbDirectory) <> “” Then ‘如果路径所在的文件已经存在 If MsgBox(”该文件已经存在!” & vbCrLf & “要覆盖原有文件?”, vbYesNo, “警告!”) = vbYes Then GoTo next1 Else GoTo Next2 End If Else ‘不存在覆盖问题 GoTo next1 End If’备份数据库next1: sqlString = “backup database patrol to disk = ‘” & * & “‘ WITH FORMAT, NAME = ‘” & * & “‘” Set rs = accessSQL(sqlString) //查询数据库 Unload Me MsgBox “数据库备份成功”, vbOKOnly, “成功!”Else MsgBox “路径不能为空”, vbOKOnlyNext2: End IfEnd Sub。
oracle 数据库备份语句
EXP 毕竟也需要连接到数据库,也就是需要提供用户名,密码,所以你说的数据库模式导出,是无法正常实现的。但是使用DBA用户登陆,可以实现导出整个数据库的类似功能。
数据库模式:
EXP SYSTEM/PASSWD@ORACLE FULL = Y FILE = ‘*’ LOG = ‘*’
用户模式:
EXP USER/PASSWD@ORACLE FILE = ‘*’ LOG = ‘*’
表模式:
EXP USER/PASSWD@ORACLE FILE = ‘*’ LOG = ‘*’ TABLES = (‘TABLE_1′,’TABLE_2’)
IMP 语句只要把上面3个语句中的 ‘EXP’ 换成 ‘IMP’ 就行了
如果还有不明白的,可以在命令行中输入EXP HELP 或者 IMP HELP 查看帮助!
sql 语句 数据库备份
给你一个vb版本的作为参考吧,思路应该一样。
还原:
Private Sub restoreButton_Click()
If * <> “” Then ‘如果路径不为空
If Dir(*, vbDirectory) <> “” Then ‘如果路径所在的文件存在,即路径正确
sqlString = “RESTORE DATABASE patrol FROM disk = ‘” & * & “‘”
Set rs = accessSQL(sqlString)
Unload Me
MsgBox “数据库还原成功!”, vbOKOnly, “成功!”
Else
MsgBox “找不到该文件!”, vbOKOnly, “提示!”
End If
Else ‘如果文件路径为空
MsgBox “文件路径不能为空”, vbOKOnly, “提示!”
End If
End Sub
备份:
Private Sub backupButton_Click()
If * <> “” Then ‘如果路径为空
If Dir(*, vbDirectory) <> “” Then ‘如果路径所在的文件已经存在
If MsgBox(”该文件已经存在!” & vbCrLf & “要覆盖原有文件?”, vbYesNo, “警告!”) = vbYes Then
GoTo next1
Else
GoTo Next2
End If
Else ‘不存在覆盖问题
GoTo next1
End If
‘备份数据库
next1: sqlString = “backup database patrol to disk = ‘” & * & “‘ WITH FORMAT, NAME = ‘” & * & “‘”
Set rs = accessSQL(sqlString) //查询数据库
Unload Me
MsgBox “数据库备份成功”, vbOKOnly, “成功!”
Else
MsgBox “路径不能为空”, vbOKOnly
Next2: End If
End Sub
sql语句对数据库备份如何写
今天看到一篇关于ORCLE的逻辑备份,冷、热备份的帖子讲的挺好的,不过这篇文章是以ORACLE 7为例子,虽然现在已经有很好很强大的RMAN,但还是觉得有必要转过来,不能喜新厌旧嘛。
==================================================================================Oracle数据库的备份与恢复 当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。
由此可见,做好数据库的备份是多么的重要,下面笔者就以ORACLE7为例,来讲述一下数据库的备份和恢复。ORACLE 数据库有三种标准的备份方法,它们分别为导出/导入(EXPORT/IMPORT)、冷备份、热备份。
导出备份是一种逻辑备份,冷备份和热备份是物理备份。 一、 导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回Oracle数据库中去。
1. 简单导出数据(Export)和导入数据(Import) Oracle支持三种类型的输出: (1)表方式(T方式),将指定表的数据导出。 (2)用户方式(U方式),将指定用户的所有对象及数据导出。
(3)全库方式(Full方式),将数据库中的所有对象导出。 数据导出(Import)的过程是数据导入(Export)的逆过程,它们的数据流向不同。
2. 增量导出/导入 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。
导出文件名缺省为*,如果不希望自己的输出文件定名为*,必须在命令行中指出要用的文件名。 增量导出包括三个类型: (1)“完全”增量导出(Complete) 即备份整个数据库,比如: $exp system/manager inctype=complete file=* (2) “增量型”增量导出 备份上一次备份后改变的数据。
比如: $exp system/manager inctype=incremental file=* (3) “累计型”增量导出(Cumulative) 累计型导出方式只是导出自上次“完全” 导出之后数据库中变化了的信息。比如: $exp system/manager inctype=cumulative file=* 数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效地完成。
比如数据库的备份任务可作如下安排: 星期一:完全导出(A) 星期二:增量导出(B) 星期三:增量导出(C) 星期四:增量导出(D) 星期五:累计导出(E) 星期六:增量导出(F) 星期日:增量导出(G) 如果在星期日,数据库遭到意外破坏,数据库管理员可按以下步骤来恢复数据库: 第一步:用命令CREATE DATABASE重新生成数据库结构; 第二步:创建一个足够大的附加回段。 第三步:完全增量导入A: $imp system./manager inctype= RECTORE FULL=Y FILE=A 第四步:累计增量导入E: $imp system/manager inctype= RECTORE FULL=Y FILE =E 第五步:最近增量导入F: $imp system/manager inctype=RESTORE FULL=Y FILE=F 二、 冷备份 冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。
冷备份是将关键性文件拷贝到另外位置的一种说法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。
冷备份的优点是: 1.是非常快速的备份方法(只需拷贝文件) 2.容易归档(简单拷贝即可) 3.容易恢复到某个时间点上(只需将文件再拷贝回去) 4.能与归档方法相结合,作数据库“最新状态”的恢复。 5.低度维护,高度安全。
但冷备份也有如下不足: 1.单独使用时,只能提供到“某一时间点上”的恢复。 2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。
也就是说,在冷备份过程中,数据库必须是关闭状态。 3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。
4.不能按表或按用户恢复。 如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将所备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。
冷备份中必须拷贝的文件包括: 1.所有数据文件 2.所有控制文件 3.所有联机REDO LOG文件 *文件(可选)。 值得注意的是冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的 下面是做冷备份的完整例子: (1) 关闭数据库$sqldba lmode=y SQLDBA >connect internal; SQLDBA >shutdown normal; (2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件 SQLDBA >! cp (3) 重启Oracle数据库 $sqldba lmode=y SQLDBA >connect internal; SQLDBA >startup; 三、 热备份 热备份是在数据库运行的情况下,采用archivelog mode方式备份数据的方。
用SQL语句备份数据库
用SQL2000还原bak文件
1.右击SQL Server 2000实例下的“数据库”文件夹。就是master等数据库上一级的那个图标。选择“所有任务”,“还原数据库”
2.在“还原为数据库”中填上你希望恢复的数据库名字。这个名字应该与你的源码中使用的数据库名字一致。
3.在弹出的对话框中,选“从设备”
4.点击“选择设备”
5.点击“添加”
6.点击“文件名”文本框右侧的“。”按钮,选中你的“.BAK”文件,并点击确定回到“选择还原设备”对话框。
7.点击确定回到“还原数据库”对话框。
8.点击“选项”选项卡
9.将所有“移至物理文件名”下面的路径,改为你想还原后的将数据库文件保存到的路径。如果你不希望改变,可以直接点击确定。这时便恢复成功了。
很不错!我今天终于把.bak搞定了,这里有个要注意的地方就是选项中的“移至物理文件名”下面的路径,这个路径一定要修改哦,不然会出现错误