SQL备份-本来ok 了,可是没有办法把table.database.connect给断开(慕容乾坤.dal2001,szf大侠再帮帮忙) (50分)

  • 主题发起人 主题发起人 maginnn
  • 开始时间 开始时间
M

maginnn

Unregistered / Unconfirmed
GUEST, unregistred user!
SQL备份--我研究创建了sp_addumpdevice了,可是在delphi中的sql语句不对???
我在sql中创建了device了(在sql中执行:backuop database neaukygl to aaaaaaa,ok!!)
可是我在dephi中用query控件来增加sql语句如下
procedure TForm1.Button3Click(Sender: TObject);
begin
query1.SQL.Add('backup DATABASE [neaukygl] from [aaaaaaa] ;');
query1.execsql; //(错误提示:token backup not found???)
end;
怎么没有备份过去阿
(我的aaaaaaa 对应dump1.dat 在的d:/neau 文件夹下)

是不是delphi中的sql语句错误???
谢谢!!
(恢复
query1.sql.add('restore database [neaukygl] from [aaaaaaa] ');???????????????)
 
调用存储过程不要用query用Tstoredproc控件
 
用Tstoredproc来增加sql语句?
 
大家能说说吗?
 
大家帮帮忙
 
你的SQL写错了。
是DUMP databasename TO dumpdevice.

而且负责执行这个SQL的TQuery控件的RequestLive的值必须为False;
 
>szf 多谢
现在备份好使了
可是恢复出现了问题
我用
begin
query1.RequestLive:=false;
query1.Database.Close;
query1.Close;
query1.SQL.Clear;
showmessage('aaaaaaa');
query1.SQL.Add('load database neaukygl from aaaaaaa') ;
query1.ExecSQL;
showmessage('bbbbb');
end;
但提示错误:
dadtabase insuse (数据库使用中)
the system da administrator must have exclusice use of the database to
run the restroe operation(系统必须唯一的使用数据库去进行恢复操作!)

明明我把query1.close了,怎么还不行?
 
得将所有的连接都关掉
然后用master数据库去恢复
 
query1.SQL.Add('use master')
query1.SQL.Add('load database neaukygl from aaaaaaa') ;
 
说来说去,还是不知道你用什么数据库,不过看样子是sybase或sqlserver~~
要load一个数据库必须它是在单用户模式下或只有被恢复的数据库的DBO一个用户登录才行的。
办法有四个
1、把网络连接去掉,只在本机操作,然后kill掉所有的其它用户
2、把其它可能登录的用户密码改掉,让它登录不下,然后kill掉所有的其它用户
3、起动SQL-server时,用它的单用户模式,具体请自己参考资料
4、设置要恢复的数据为单用户模式,具体请自己参考资料
 
OK了OK了
原来家少了query1.SQL.Add('use master')这句话
请问 为什么要加上这句呢?
 
多人接受答案了。
 
当我加了一个table时候(也连接了neaukygl)
但我再恢复时
table1.database.connect:=false;
table1.close;
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('use master') ;
query1.SQL.Add('load database neaukygl from aaaaaaa') ;
query1.ExecSQL;
end;
出现错误提示
change databse context to 'master'(改变了数据,用了master)
下面还是上次的错误提示
dadtabase insuse (数据库使用中)
the system da administrator must have exclusice use of the database to
run the restroe operation(系统必须唯一的使用数据库去进行恢复操作!)

我用table1.dababase.connect:=fasel;
eh 和table.close;
不能断开他的数据连接吗?
 
后退
顶部