MS SQL Server7 数据库备份和恢复

Apollo47 2001-09-03 02:48:30
我在一本SQL Server书上看到这样的一段话(是关于备份和恢复数据库):
备份是定期的,而不是实时的,所以利用备份并不能完全恢复数据库,它只能将数据库恢复到制作备份的那一刻 ...... 数据库日志是实时的,他忠实的记录下所有对数据库的更新操作。因此,当磁盘出现故障造成数据库损坏时,就可以首先利用备份恢复数据库(大部分数据),然后运行数据库日志,即将备份后所做的操作重新在做一遍,从而将数据库完全恢复。
那么请问,我在Delphi怎么用SQL语句备份数据库和日志文件,并利用这些备份文件来完全恢复数据库。
只要给出详细的SQL语句就行(给出存储过程也行)。有本事就把这300分拿走。
...全文
167 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sncel 2001-09-03
  • 打赏
  • 举报
回复
不用删除旧数据库,当然也不需用use master,只要你打开需要备份的数据库就可以了。
sncel 2001-09-03
  • 打赏
  • 举报
回复
SQL网络备份
要备份到网内指定的机子你必须在路径中输入目标电脑的绝对路径就可以了,备份程序可以在网内的任何一台电脑运行,但路径必须以服务器为出发点。路径选择对话框推荐用SHBrowseForFolder函数调用的对话框,我有完整代码,需要可与我联系,VB,Delphi的都有.
dq 2001-09-03
  • 打赏
  • 举报
回复
保险起见,还是删了吧。用DROP DATABASE,很快的。不过别忘了先use master。
Tense 2001-09-03
  • 打赏
  • 举报
回复
很富有挑战性,我喜欢
zou5655 2001-09-03
  • 打赏
  • 举报
回复
BackUp:
USE master';
EXEC sp_addumpdevice "disk", "MyNwind_ss1",
"C:\备份文件\BackUpFileName"
BACKUP DATABASE DatabaseName TO MyNwind_ss1
EXEC sp_DropDevice "MyNwind_ss1"

Restore:
RESTORE DATABASE DatabaseName';
FROM DISK="C:\备份文件\BackUpFileName"
With RECOVERY,
Move "DatabaseName_Data" To "' + DataBaseDire + 'DatabaseName.mdf",
Move "DatabaseName_log" To "' + DataBaseDire + 'DatabaseName.ldf"'

至于恢复日志就自己看帮助了!!!
SQL SERVER好象不支持网络路径!!

Apollo47 2001-09-03
  • 打赏
  • 举报
回复

恢复前需不需要将被恢复的数据库删除?

sncel 2001-09-03
  • 打赏
  • 举报
回复
var PathStr:String;
begin
PathStr:='d:\';
PathStr:=PathStr+'YHDB'+FormatDateTime('yyyy-mm-dd',Now)+'.BAK';
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ShowMessage('BACKUP DATABASE YHJXCDB TO DISK ='''+PathStr+'''');
ADOQuery1.SQL.Add('BACKUP DATABASE YHJXCDB TO DISK ='''+PathStr+'''');
ADOQuery1.ExecSQL;
Application.MessageBox('数据库备份成功!!!','备份数据',MB_OK+64);
end;
保证能用,我就是这样做备份的!!!
zzutlink 2001-09-03
  • 打赏
  • 举报
回复
BACKUP LOG MyNwind

TO MyNwind_log1

GO


zzutlink 2001-09-03
  • 打赏
  • 举报
回复
USE MyNwind

GO

BACKUP DATABASE dbname

TO TAPE = '\\.\Tape0'

WITH FORMAT,

NAME = 'Full Backup of dbname'

zzutlink 2001-09-03
  • 打赏
  • 举报
回复
看楼上兄弟那么肯定,估计没错,我去试试
dq 2001-09-03
  • 打赏
  • 举报
回复
应该是用BACKUP DATABASE、BACKUP LOG、RESTORE DATABASE、RESTORE LOG这几个语句吧。
SQL Server的Books Online里有说明的(最好看看SQL Server 2000的中文帮助)。
tikkypeng 2001-09-03
  • 打赏
  • 举报
回复
备份

-- Create the backup device for the full MyNwind backup.//在硬盘上创建要备份数据库文件

USE master

EXEC sp_addumpdevice 'disk', 'MyNwind_2', 'c:\mssql7\backup\MyNwind_2.dat'

-- Back up the full MyNwind database.//开始备份数据库

BACKUP DATABASE MyNwind TO MyNwind_2

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧