1. sql 数据库备份与还原命令时什么怎么用急!!!
1.备份数据库
BAKUP DATABASE db_name
TO device
with
BLockSize=
Description='db_name数据库备份'
Differential,
ExpireDate=
RetainDays=
Password=
Format|Noformat
MediaName=
MediaDescription=
MediaPassword=
Name=
Init|Noinit
Skip|NoSkip
Unload|NoUnload
NoRewind|Rewind
Restart
Stats=
2.备份数据事务日志
BAKUP LOG db_name
TO device
with
BLockSize=
Description='db_name数据库事务日志备份'
ExpireDate=
RetainDays=
Password=
Format|Noformat
MediaName=
MediaDescription=
MediaPassword=
Name=
Init|Noinit
Skip|NoSkip
Unload|NoUnload
NoRewind|Rewind
NoRecovery|Standby=
Notruncate(清除事务日志的非活动部分,但SQL Server记录Bakuo Log命令)|NO_LOG(清除事务日志的非活动部分,不记录Bakup Log命令)|TruncatePOnly(备份事务日志)
Restart
Stats=
3.恢复数据库
Restore Database db_name
From device
With
Restricted_User
File=恢复具有多个备份子集的备份介质中的那个备份子集
Pssword=
MediaName=
MediaPassword=
Keep_Replication
Move file to file
Norecovery|Recovery|Standby=数据库恢复操作的UNDO文件(恢复数据库文件或文件组使用Norecovery选项)
Norewind|Rewind
Unload|NoUnload
Replace (若恢复的数据库名称与已存在的数据库重名,则首先删除原数据库,然后重建)
Restart
Stats=
4.恢复事务日志
Restore Log db_name
From device
With
Restricted_User
File=恢复具有多个备份子集的备份介质中的那个备份子集
Pssword=
MediaName=
MediaPassword=
Move file to file
Norecovery|Recovery|Standby=数据库恢复操作的UNDO文件
Norewind|Rewind
Unload|NoUnload
Restart
Stats=
Stopat=(将数据库恢复到该设定时间以前的状态,只有在该时间以前的事物日志才会被恢复)
Stopatmark='mark_name'[After datetime]
Stopbeforemark='mark_name'[After datetime]
DOB_ONLY:表示新恢复的数据库的访问权限只授予数据库所有者
Norecovery:表示恢复操作不回滚任何未提交的事务。若恢复某一数据库备份后又恢复多个事务日志,或在恢复过程中执行多个Restore命令,则要求除最后一条Restore命令外其他的必须使用该选项
Recovery:表示回滚所有未提交事务
5.部分恢复数据库---进行部分数据库恢复操作事要使用数据库文件组,而且总是要恢复主要的文件和文件组,此外就是恢复所指定的文件和文件组
Restore Database db_name
<file or filegroup>
From device <备份设备名>
With
Partial
Restricted_User
File=恢复具有多个备份子集的备份介质中的那个备份子集
Pssword=
MediaName=
MediaPassword=
Keep_Replication
Move file to file
Norecovery|Recovery|Standby=数据库恢复操作的UNDO文件(恢复数据库文件或文件组使用Norecovery选项)
Norewind|Rewind
Unload|NoUnload
Restart
Stats=
2. 如何编写sql备份表语句
备份表是数据库管理中的重要步骤。以下是针对不同数据库系统编写备份表语句的方法:
SQL Server
使用SELECT INTO语句复制表数据到新表,然后使用BACKUP DATABASE命令备份整个数据库至文件。
MySQL
使用SELECT INTO OUTFILE语句导出表数据至文件,接着使用mysqlmp命令备份数据库至文件。
Oracle
同样使用SELECT INTO语句复制数据至新表,接下来通过expdp命令备份整个数据库至文件。
SQLite
使用SELECT INTO语句将表数据复制到新表,然后使用sqlite3命令备份数据库至文件。
PostgreSQL
使用pg_mp命令备份表结构和数据至文件。这命令仅备份名为original_table的表,若需备份整个数据库,可省略-t参数。
在执行备份时应关注数据一致性,最好在事务中操作,以防备份过程中的错误导致数据不一致。备份后,可通过LOAD DATA INFILE(MySQL)、SQL Server Management Studio(SQL Server和Oracle)导入备份文件至新表,或使用mysqlmp、BACKUP DATABASE(SQL Server)或expdp命令备份整个数据库至文件。