用SQL语句备份数据库
(2009-08-07 23:37:05)
标签:
电脑子句sql映像备份log杂谈 |
分类: SQL数据库 |
用sql语句备份数据库(sql
(源于百度知道)用于备份数据库和事务日志。
语法 1(映像备份)
BACKUP DATABASE
DIRECTORY backup-directory
[ WAIT BEFORE START ]
[ WAIT AFTER END ]
[ DBFILE ONLY ]
[ TRANSACTION LOG ONLY ]
[ TRANSACTION LOG RENAME [ MATCH ] ]
[ TRANSACTION LOG TRUNCATE ]
[ ON EXISTING ERROR ]
[ HISTORY { ON | OFF } ]
backup-directory : { string | variable }
语法 2(档案备份)
BACKUP DATABASE TO archive-root
[ WAIT BEFORE START ]
[ WAIT AFTER END ]
[ DBFILE ONLY ]
[ TRANSACTION LOG ONLY ]
[ TRANSACTION LOG RENAME [ MATCH ] ]
[ TRANSACTION LOG TRUNCATE ]
[ ATTENDED { ON | OFF } ]
[ WITH COMMENT comment string ]
[ HISTORY { ON | OFF } ]
archive-root : { string | variable }
comment-string : string
参数
backup-directory
那些文件在磁盘上的目标位置,相对于启动时服务器的当前目录。如果目录尚不存在,则创建该目录。如果指定空字符串作为目录,则不必先复制日志就可以重命名或截断它。
WAIT BEFORE START 子句
该子句确保数据库的备份副本不包含任何恢复所需的信息。具体说来,它确保每个连接的回退日志为空。
如果使用该子句得到了一个备份,那么可以以只读模式启动该备份数据库并校验它。通过启用备份数据库校验,可以避免额外复制数据库。
WAIT AFTER END 子句
如果要重命名或截断事务日志,可以使用该子句。此语句确保在重命名或截断日志前完成所有事务。如果使用该子句,则备份在结束前必须等待其它连接提交或者回退任何打开的事务。
DBFILE ONLY 子句 该子句可被用于制作主数据库文件和所有关联的 dbspaces 的备份副本。但不复制事务日志。
TRANSACTION LOG ONLY 子句 该子句可被用于制作事务日志的备份副本。但不复制其它数据库文件。
TRANSACTION LOG RENAME [MATCH] 子句
此子句会使服务器在完成备份时重命名当前的事务日志。重命名的副本名称的格式为 YYMMDDnn.log。如果省略了关键字
MATCH,日志的备份副本的名称将与数据库的当前事务日志同名。如果使用了关键字 MATCH,则事务日志的备份副本的名称格式为
YYMMDDnn.log,以与当前事务日志的重命名副本匹配。使用 MATCH
关键字使得同一语句可执行多次而不会覆盖旧的数据。
TRANSACTION LOG TRUNCATE 子句 如果使用该子句,当前事务日志将被截断,并在完成备份时重新启动。
archive-root 档案文件的文件名或磁带驱动器设备名。
要备份到磁带,必须指定磁带驱动器的设备名。例如,在 Windows NT 或 NetWare 上,第一个磁带驱动器是
\\.\tape0。
反斜线 ( \ ) 是 SQL
字符串中的转义字符,因此每个反斜线必须是两道。有关转义字符和字符串的详细信息,请参见字符串。
ON EXISTING ERROR 该子句仅适用于映像备份。缺省情况下,现有文件将在执行 BACKUP DATABASE
语句时被覆盖。如果使用了该语句,若其中任一将由备份创建的文件已存在,则发生错误。
ATTENDED 该子句仅适用于备份到磁带设备时。ATTENDED
ON(缺省值)表示有人可以监视磁带驱动器的状态,必要时在驱动器中放入新磁带。如果磁带驱动器要求干预,一条消息将发送到发出 BACKUP
语句的应用程序。然后数据库服务器等待驱动器就绪。这在某些情况下会发生,比如在需要新磁带时。
如果指定 ATTENDED OFF 并需要新磁带或者驱动器没有就绪,则不发送消息并且给出错误。
每个 BACKUP 操作(不论是映像还是档案)都更新名为 backup.syb 的历史文件。
有关 backup.syb 文件的详细信息,请参见 ASLOGDIR 环境变量。
WITH COMMENT 在档案文件和备份历史文件中记录注释。
HISTORY 缺省情况下,每个 BACKUP 操作会将一行添加到 backup.syb 上。通过将 HISTORY 指定为 OFF
可以阻止更新 backup.syb 文件。如果满足以下所有条件,您可能要阻止对此文件的更新:
*
经常备份
*
不存在定期存档或删除 backup.syb 文件的过程
*
磁盘空间非常有限
用法
第一个语法是映像备份,第二个语法是档案备份。
语法 1 映像备份创建每个数据库文件的副本,采用的方式与备份实用程序 (dbbackup)
相同。缺省情况下,备份实用程序将在客户端计算机上制作备份,但在使用备份实用程序时也可以通过指定 -s
选项在服务器上创建备份。但是,对于 BACKUP 语句,备份只能在服务器上创建。
(可选)只能保存数据库文件或事务日志。备份完成后也可以重命名或截断日志。
或者,可以指定空字符串作为目录,这样不必事先复制日志就可以重命名或截断它。这在需要考虑空间大小的复制环境中尤其有用。您可以将此功能与事务日志大小的事件处理程序结合使用,以便在日志达到给定大小时将其重命名,还可以将此功能与
DELETE_OLD_LOGS 选项结合使用,以便删除不再需要的日志。
要从映像备份恢复,请将保存的文件复制回原来的位置并重新应用事务日志,详见备份和数据恢复一章中的介绍。
语法 2 档案备份创建单个文件来保存所有必需的备份信息。目标可以是文件名或磁带驱动器设备名。比 NetWare 5 早的
NetWare 版本不支持到磁带的档案备份。
一个给定的磁带上只能有一个备份。文件 backup.syb 记录在给定服务器上执行的 BACKUP 和 RESTORE
操作。
磁带在备份结束时弹出。
每个磁带上只能有一个档案,但是一个档案可以跨转多个磁带。要从档案备份恢复数据库,使用 RESTORE DATABASE
语句。
如果某个 RESTORE
语句引用了仅包含一个事务日志的文档文件,该语句仍必须指定一个文件名(表明恢复的数据库文件所在的位置)即使该文件不存在。例如,若要从仅包含一个日志的档案恢复到目录
C:\MYNEWDB,应使用如下的 RESTORE 语句:
RESTORE DATABASE 'c:\mynewdb\my.db' FROM archive-***
备份语句:
BACKUP DATABASE[__DataBaseName__] TO DISK =
N'\\LocalCoputerNameOrIP\ShareDocument\FileName.bat' WITH INIT,
NOUNLOAD,NOSKIP,STATS=10, NOFORMAT
恢复语句:
Restore DataBase[__DataBaseName__] from
disk='\\LocalCoputerNameOrIP\ShareDocument\FileName.bat'
用这两句话就可以将数据库备份到本机的任何位置了。
不过使用的时候有两点注意事项:
1.在使用前目录必须建立好
2.这个目录必须是一个完全共享的目录
使用方法:
参数说明:
__DataBaseName__
LocalComputerNameOrIP
ShareDocument
FileName.bat
用SQL语句备份SQL数据库
备份数据库的命令是:
BACKUP DATABASE test
解释如下:
BACKUP DATABASE
test
还原数据库的命令是:
USE master
GO
RESTORE DATABASE test_wt
GO
解释如下:
USE master
GO
RESTORE DATABASE test_wt
GO
在C#下,只需要使用COMMAND命令就可以恢复数据库了。。呵呵。。今天研究了大半天,总算搞明白了,原来使用事件查看器截获SQL语句,总是有点毛病,不够理想。。哎。。。加油~!!!
用SQL语句备份SQL数据库,数据库使用技巧,网络大本营是一个专门发布编程资料,计算机相关技巧的大型网站,收集的资料非常之多,做中国最大的IT技术库和编程数据库!
用SQL语句备份SQL数据库. 备份数据库的命令是:. BACKUP DATABASE test TO disk =
'c:\test' WITH FORMAT, NAME = 'Full Backup of MyNwind'. 解释如下:.
BACKUP DATABASE test --这里的test指的是数据库名称 TO disk = 'c:\test'
--这里指名的数据库 ...
备份数据库的命令是:BACKUP DATABASE test --这里的test指的是数据库名称TO disk = ’c:\test’
--这里指名的数据库路径WITH FORMAT, NAME = ’Full Backup of MyNwind’
--这个是备注,无所谓。。RESTORE DATABASE test_wt FROM disk = ’c:\test_wt’GO.
...
用SQL语句备份SQL数据库, 第1 楼 ... BACKUP DATABASE test
--这里的test指的是数据库名称 TO disk = 'c:\test' --这里指名的数据库路径 WITH FORMAT,
... RESTORE DATABASE test_wt --所被恢复的数据库名称 FROM disk =
'c:\test_wt' --本地硬盘路径 ...
唯一下载软件下载,软件,下载,共享,共享软件,免费,免费软件,汉化,汉化补丁,游戏,游戏下载,软件教程,软件新闻,软件资讯,操作系统,邮件.
其实备份文件是1.11G。以前在Access里也仅仅120M左右的。。现在SQL
数据库怎么移植啊-------------如果单单用ftp下载,不太可能 ... 也可以用SQL语句来完成
--收缩数据库 DBCC SHRINKDATABASE(库名) --收缩指定数据文件,1是文件号,可以通过这个语句查询
...
BACKUP 备份整个数据库、事务日志,或者备份一个或多个文件或文件组。有关数据库备份和恢复操作的更多信息,请参见备份和还原数据库。
RESTORE 还原使用BACKUP 命令所做的备份。有关数据库备份和还原操作的更多信息,请参见备份和还原数据库。
...
你是怎么查询的,用应该用SQL语句中的SELECT啊,这样就可以任意的查询了
?我用SQL查询分析器编写了一个数据库备份的语句(*.SQL),如何在VB中调用它?
?2)用SQL语句来完成,如果你的表名叫tblCJ,学号是ID,成绩是CJ,试着用这样的查询看看可不可以解决
...
如何用sql语句备份mssql数据库. 笔记收藏时间:null 笔记原作者:w 笔记来源http://w.netnote.cn.
如何用sql语句备份mssql数据库. backup database databaseName to
disk='d:\123.bak'.
[问题]
一个客户的sql server 2k数据库想备份到另外一台服务器上,SQL Server 中可以将sql server及代理服务 的服务帐户设置为域用户,就可以在备份时将备份文件写入指定的网络路径下。但用户在使用域用户运行SQL Server时,反映系统运行不稳定,还是用系统帐户,这样网络备份就无法实现了。
[方案]
[环境说明]
硬件环境:数据库服务器 192.168.1.5;备份服务器 192.168.1.3
操作系统:都是Win 2k ad +sp4
其他:备份服务器 192.168.1.3,有c:;d:;E:三个硬盘
[具体做法]
1。
2。在数据库服务器上
备份方法有两种:
一。直接备份在本地硬盘,然后将备份文件压缩,然后将压缩后的文件直接移动到备份服务器上,适用于本地硬盘空间充裕的情况下
若在sql中执行见:
declare @sql varchar(100)
declare @Filepath varchar(50)
set @filePath ='D\backup\test'
backup database pubs to disk =@filePath+'pubs.bak'
Set @Sql = 'C:\Progra~1\Winrar\Rar A -Df -Ep ' + @Filepath + ' '
+ @Filepath + '\*.*'
Exec Xp_Cmdshell @Sql,No_Output
Set @Sql = 'rd /S /Q ' + @Filepath
Exec Xp_Cmdshell @Sql
Exec Xp_Cmdshell net use Y: \\192.168.1.3\backup
Exec Xp_Cmdshell 'Move /Y d:\dbbak\*.rar Y:\'
Exec Xp_Cmdshell 'Net Use z: /delete'
二。直接将备份文件放到备份服务器上,