请参照我的回答:http://www.csdn.net/expert/topic/615/615513.xml?temp=.1619989
解决方案 »
- DELPHI 中使用FASTREPORT报表控件,怎样改变送入打印队列的打印文档的名称.求高手指点
- string 如何转换为 pchar ,用了strpcopy,说是:Incompatible types: 'String' and 'PAnsiChar'
- 请看一下我的调用一个example.dll程序错在哪里??
- 请问Cannot Create File....什么原因造成的?
- 高分求救:我想动态加载BPL包,并想使用其中的类的方法和属性。
- 关闭活动窗体的问题?请帮忙!!
- 有同感的兄弟们,帮我发泄一下吧!(上者有分)
- 求助 关于光盘系统的
- 我用Table连接Access 数据库,程序运行时出现 Database Login窗口,它是干什么的?
- 怎么判断一个程序正在运行,不能让程序重复启动
- 一个简单但是我没查到的delphi中使用XML的问题
- delphi高手请指教
那用什么控件自己选择,只要能连到数据库,执行SQL的就好。
ADO用:ADOCommand或者ADOQuery,不过最好用ADOCommand,因为ADOQuery在
执行非查询命令的时候可能有Bug,而ADOCommand没有。
在备份时候参照Backup Database语句。
恢复的时候参照Restore Database语句
在以前的贴子里面我都是详细的描述。
ADOQuery.ExecSQL;
说明 MyNwind 数据库仅用于演示。
下例创建用于存放 MyNwind 数据库完整备份的逻辑备份设备。-- Create a logical backup device for the full MyNwind backup.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_1',
DISK ='c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwind_1.dat'-- Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_1B. 备份数据库和日志
本例创建了一个数据库和日志的完整备份。将数据库备份到称为 MyNwind_2 的逻辑备份设备上,然后将日志备份到称为 MyNwindLog1 的逻辑备份设备上。 说明 创建逻辑备份设备需要一次完成。
-- Create the backup device for the full MyNwind backup.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_2',
'c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwind_2.dat'--Create the log backup device.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwindLog1',
'c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwindLog1.dat'-- Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_2-- Update activity has occurred since the full database backup.-- Back up the log of the MyNwind database.
BACKUP LOG MyNwind
TO MyNwindLog1
不过,我觉得更好的应该是在服务器段用代理功能定时来实现悲愤功能,最好将悲愤时间定在完上12点左右,这样的培植可以在SQL Server上的数据库维护计划中来实现
store procedure DataSys
//////////////////////////
CREATE proc datasys --数据备份和恢复
(@kind varchar(7),--备份还是恢复
@filename varchar(100),--文件名
@retmsg varchar(20) output --返回参数
)
asif @kind='backup'
begin
backup database SubHealth to disk=@filename with init
end
if @kind='restore'
begin
-- drop database clientcenter_bak
restore database SubHealth from disk=@filename with replace
endif @kind='backup' select @retmsg='数据库备份成功!'
if @kind='restore' select @retmsg='成功恢复数据库!'
return 0GO
等等方式调用远程函数来实现备份,这样在可以联网的任何计算机上面都可以进行备份。我认为存储过程不一定这么好。