注册 登录
编程论坛 VB6论坛

能不能用SQL 语句备份SQL Server 2008的事务日志

ZHRXJR 发布于 2017-02-28 17:29, 1184 次点击
能不能用SQL 语句备份SQL Server 2008的事务日志,数据库已经使用SQL语句成功备份,但在恢复时,说:“backup LOG WITH NO RECOVERY”即“备份日志没有恢复”,从而数据库恢复不成功。
应该怎么解决?注意必须使用SQL语句备份事务日志,在数据库界面备份与恢复就不需要了。
如果解决,愿支付RMB。
5 回复
#2
xzlxzlxzl2017-03-01 08:41
全备份数据库:BACKUP DATABASE mydb to DISK=’D:\Backup\mydb.bak’ WITH INIT
备份日志:BACKUP LOG mydb_log TO DISK=’D:\backup\mydb.trn’

我原来在sql2000里好像是用exec ...sp...什么的语句完成备份恢复的(都是我原来勤于百度找的),似乎库和日志一起备份恢复,没碰到过你说的这种情况。
#3
ZHRXJR2017-03-01 10:42
回复 2楼 xzlxzlxzl
谢谢您的回答,我现在的备份语句是:
BACKUP DATABASE mydb to DISK=’D:\Backup\mydb.bak’,没有你后面的 WITH INIT ,是不是这个原因?一会试一试。
以前在2000数据库中使用 BACKUP DATABASE mydb to DISK=’D:\Backup\mydb.bak’语句没有问题,可以恢复,但在2008数据库在恢复时出现前面的错误,不能恢复。
BACKUP LOG mydb_log TO DISK=’D:\backup\mydb.trn 这个没有试过,但网上说2008数据库不支持 BACKUP LOG 语句,不知是不是,一会试一试。
再次感谢!如果还有问题还得继续请教。

[此贴子已经被作者于2017-3-1 11:14编辑过]

#4
ZHRXJR2017-03-02 09:14
回复 2楼 xzlxzlxzl
BACKUP DATABASE mydb to DISK=’D:\Backup\mydb.bak’ WITH INIT ,使用这个语句备份了bak文件,应该是完全备份吧。
BACKUP LOG mydb_log TO DISK=’D:\backup\mydb.trn 使用了这个语句,备份了trn文件,备份了日志文件。
这样在 SQL Server 2008 数据库可以成功恢复数据了。
看来网上说的在 SQL Server 2008 数据库中不能使用 BACKUP LOG 是误导,感谢你的帮助!
下面的QQ号联系我,兑现我的承诺。

[此贴子已经被作者于2017-3-2 09:17编辑过]

#5
xzlxzlxzl2017-03-02 11:10
回复 4楼 ZHRXJR
有好处,我是不会拒绝的!看留言。
#6
ZHRXJR2017-03-02 18:57
回复 5楼 xzlxzlxzl
看留言,给你恢复信息了。
1