首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

数据库备份相关!

2012-02-12 
数据库备份相关!在线等!我用delphi2005+sql2000,如果一步一步执行程序,那OK,可是直接运行就有问题了。代码

数据库备份相关!在线等!
我用delphi2005+sql2000,如果一步一步执行程序,那OK,可是直接运行就有问题了。代码如下:主要目的是先关闭sql服务,再复制数据库,再打开sql服务管理
代码:
var
s1,s2:string;
begin
if   edit1.text <> ' '   then
try
//关闭sql服务
    winexec(pchar( 'cmd.exe       /c       net       stop       '+ 'mssqlserver '),sw_hide);
except
    messagedlg( '关闭sql服务不成功! ',mterror,[mbyes],0);

end;
//备份
try
s1:=   extractfilepath(paramstr(0))+ 'data\salary_Data.MDF ';
s2:=   extractfilepath(paramstr(0))+ 'data\salary_Log.LDF ';
copyfile(pchar(s1),pchar(edit1.Text+ 'salary_Data.MDF '),true);
copyfile(pchar(s2),pchar(edit1.Text+ 'salary_Log.LDF '),true);
except
    messagedlg( '数据库还原不成功! ',mterror,[mbyes],0);
end;
//打开sql服务
try
winexec(pchar( 'cmd.exe       /c       net       start       '+ 'mssqlserver '),sw_hide);
except
    messagedlg( '打开sql服务不成功! ',mterror,[mbyes],0);

end;
messagedlg( '数据库还原成功! ',mtconfirmation,[mbyes],0);
application.Terminate;


[解决办法]
关闭和开启需要时间,会不会是没有关闭就开始备份了?加延时试试,最好备份前判断数据库是否已经关闭了,可以尝试打开,直到违法打开为止,这时说明确实已经关闭了。

热点排行