请教:在delphi中对数据库(sql数据库)进行备份怎么操作?能详细说明吗?(有代码最好!)谢谢!
解决方案 »
- 为什么字段没有全部显示出来?
- activex 的难题!!!!关于 activex 控件包添加了 文件 在客户端调用的问题!!!!!!!
- 怎么判断一个字符串是不是数字?(在线等)
- 菜鸟在线求一个怪问题
- 请问如何制作特殊格式输入文本框?高分在线等待
- 时间time如何转为汉字格式编码处理
- 高频率刷新image时,图像抖动的解决方案?
- 怎样能作到从网页上抓取数据存到数据库中?
- 急呀,谁帮我看看这个sql??
- 在DBGrid的OnTitleClick事件中这样写:select * from users order by column.fieldname 好象不行
- 征求条形码管理系统方案,级关键技术解决方案
- 这样在delphi中制作安装程序
@file_path varchar(255),
@on_hour int,
@remain_day int
AS
DECLARE @this_day int,
@bak_count int,
@str_file_name varchar(50),
@str_del_device varchar(50),
@str_last_device varchar(50),
@last_day int,
@this_hour int,
@strSQL varchar(90)
SELECT @this_day = datepart(dayofyear,getdate())
SELECT @bak_count = count(name),@str_last_device = max(name),
@last_day = max(convert(int,substring(name,charindex("_",name)+1,3)))
FROM sysdevices
WHERE charindex("_",name)=datalength(@db_to_bak)+1
AND substring(name,1,datalength(@db_to_bak))=@db_to_bak
IF SUBSTRING(@file_path,datalength(@file_path),1)<>"\"
SELECT @file_path = @file_path + "\"
SELECT @this_hour = datepart(hour,getdate())
IF ((@this_hour = @on_hour)and(@this_day<>@last_day))or(@bak_count = 0)
BEGIN
SELECT @str_last_device = @db_to_bak+"_"+convert(varchar(3),@this_day)
SELECT @str_file_name = @file_path + @str_last_device + ".dat"
SELECT @strSQL ="DUMP TRANSACTION " + @db_to_bak + " WITH TRUNCATE_ONLY"
EXECUTE(@strSQL)
SELECT @strSQL ="sp_addumpdevice 'DISK','"+@str_last_device + "','"+@str_file_name+"'"
EXECUTE(@strSQL)
SELECT @strSQL ="DUMP DATABASE "+ @db_to_bak + " TO " + @str_last_device
EXECUTE(@strSQL)
SELECT @str_del_device = @db_to_bak + "_" + convert(varchar(4),@this_day - @remain_day)
SELECT @bak_count = count(name)
FROM sysdevices
WHERE name = @str_del_device
IF (@bak_count=1)
BEGIN
SELECT @strSQL ="sp_dropdevice "+ @str_del_device +",DELFILE"
EXECUTE(@strSQL)
END
END
ELSE
BEGIN
SELECT @strSQL ="DUMP TRANSACTION "+ @db_to_bak + " TO " + @str_last_device
EXECUTE(@strSQL)
END
GO