database.php.bak,SQLServer数据库的备份和还原(留着慢慢看)

SQL语句里有. 备份 backup database [数据库名] to disk=[磁盘路径] 例如 backup database data to disk='D:/1.bak' 恢复 restore database [数据库名] from disk=[磁盘路径] 例如 restore database data from disk='D:/1.bak' create PROCEDURE GY_DBBak @b

SQL语句里有.

备份

backup database [数据库名] to disk=[磁盘路径]

例如

backup database data to disk='D:/1.bak'

恢复

restore database [数据库名] from disk=[磁盘路径]

例如

restore database data from disk='D:/1.bak'

create PROCEDURE GY_DBBak

@bakequip int, -- 备份设备:磁盘&磁带

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

@baktype int, -- 完全备份&增量备份

@baklog int, -- ‘0’备份日志

@bakdb int, -- ‘0’备份数据库

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

@retmsg varchar(20) output --返回信息

AS

DECLARE @DevName_data varchar(50)

DECLARE @DevName_log varchar(50)

declare @db_path varchar(100)

declare @log_path varchar(100)

DECLARE @RC INT

SELECT @db_path = @bakpath + '.dat'

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

SELECT @RC=0

DBCC CHECKDB(Northwind)

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

** CREATE BACKUP AND RESTORE DEVICES

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

IF @RC=0

BEGIN

EXEC sp_addumpdevice 'disk', @DevName_data,@db_path

exec sp_addumpdevice 'disk', @DevName_log,@log_path

select @rc=@@error

IF @RC<>0

begin

EXEC SP_DropDevice @Devname_data

exec sp_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

BACKUP DATABASE Northwind TO DISK=@Devname_data

WITH INIT

END

IF @baklog=0

BEGIN

BACKUP LOG Northwind WITH NO_LOG

BACKUP LOG Northwind TO DISK=@DevName_log

WITH INIT,NO_TRUNCATE

END

END

ELSE BEGIN

IF @bakdb=0

BEGIN

BACKUP DATABASE Northwind TO DISK=@DevName_data

WITH NOINIT

END

IF @baklog=0

BEGIN

BACKUP LOG Northwind WITH NO_LOG

BACKUP LOG Northwind TO DISK=@DevName_log

WITH NOINIT,NO_TRUNCATE

END

END

END

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

END

IF @kind='restore'

BEGIN

RESTORE DATABASE Northwind FROM DISK= @DevName_data WITH REPLACE

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

END

RETURN 0

增量备份的操作步骤大概是

1、截断当前日志dump tran db_name with truncate_only

2、做数据库全备份dump database db_name to "/data/db.dmp"

3、做增量备份dump tran db_name to "/data/db_tran1.dmp"

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值