SQL数据库备份

SQL数据库备份,第1张

sql语句里有.

备份

backupdatabase[数据库名]todisk=[磁盘路径]

例如

backupdatabasedatatodisk='d:\1.bak'

恢复

restoredatabase[数据库名]fromdisk=[磁盘路径]

例如

restoredatabasedatafromdisk='d:\1.bak'

createproceduregy_dbbak

@bakequipint,--备份设备:磁盘&磁带

@bakpathvarchar(50),--带全路径的备份文件名

@baktypeint,--完全备份&增量备份

@baklogint,--‘0’备份日志

@bakdbint,--‘0’备份数据库

@kindvarchar(7),--备份还是恢复

@retmsgvarchar(20)output--返回信息

as

declare@devname_datavarchar(50)

declare@devname_logvarchar(50)

declare@db_pathvarchar(100)

declare@log_pathvarchar(100)

declare@rcint

select@db_path=@bakpath+'.dat'

select@log_path=@bakpath+'log.dat'

select@rc=0

dbcccheckdb(northwind)

/***********************************************************

**createbackupandrestoredevices

************************************************************/

if@rc=0

begin

execsp_addumpdevice'disk',@devname_data,@db_path

execsp_addumpdevice'disk',@devname_log,@log_path

select@rc=@@error

if@rc<>0

begin

execsp_dropdevice@devname_data

execsp_dropdevice@devname_log

select@rc=-1000

return@rc

end

end

if@kind='backup'

begin

if@bakequip=0

begin

if@baktype=0

begin

if@bakdb=0

begin

backupdatabasenorthwindtodisk=@devname_data

withinit

end

if@baklog=0

begin

backuplognorthwindwithno_log

backuplognorthwindtodisk=@devname_log

withinit,no_truncate

end

end

elsebegin

if@bakdb=0

begin

backupdatabasenorthwindtodisk=@devname_data

withnoinit

end

if@baklog=0

begin

backuplognorthwindwithno_log

backuplognorthwindtodisk=@devname_log

withnoinit,no_truncate

end

end

end

select@retmsg='数据库备份成功!'

end

if@kind='restore'

begin

restoredatabasenorthwindfromdisk=@devname_datawithreplace

select@retmsg='恢复数据库成功!'

end

return0

用SQL语句备份与恢复数据库的步骤:

备份: mysqldump --quick --database ondemand1 --u root >bacqup.sql 这样就能把数据库中ondemand1的表全部备份出来。

其中参数的格式是:--,两横杠,不是我们常用的单横杠。

quick是在数据比较多的时候,不用该参数的话,所有的数据都会先在内存缓存,接着才导出,这样会导致服务器运行减慢。

--u 必须要加一个用户名,否则系统会提示你进不了ODBC数据库的。

>backup.sql则是你备份数据库的目标文件名。

恢复:m1ysql -u root -p database_name  d:\db.bak,在WIN下,路径用path/filename.sql是不行的,那就用path\filename.sql。

sql语句:

是对数据库进行 *** 作的一种语言。结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

其他命令:

如,还原命令:

USE master

GO

RESTORE DATABASE test_wt

FROM disk = 'c:\test_wt'

GO

MySQL。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6639389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存