数据库备份与恢复(sql server2000)(100分)

  • 主题发起人 vbjstudy
  • 开始时间
V

vbjstudy

Unregistered / Unconfirmed
GUEST, unregistred user!
关于sql server2000数据库备奋
我用的是在adocommand.commandtext中加入语句:
备份: ' backup database databasename to disk = 'c:/mydb.data'
恢复: ' restore database yourdb from disk='c:/data1.dat' with replace; '
备份可以成功,但在恢复时出现错误
提示 数据库正在使用(可数据库根本没有使用)
?????????????
急急!!!!!!!!!!!
谁有关于sql server2000数据库备份与恢复的好方法(最好有源代码),(程序是在局域网
内运行。要多少分都可以。时间紧迫。
 
试试用独占
 
你的ADOConnection本身就针对该数据库,怎能说没在用呢!?
你可以在DOS下用SQL命令试试!
 
哈哈!这个问题我刚碰到过,原因是SQL Server的缓冲在作怪,实际上你的操作
虽然完成了,但SQL SERVER却有一定的延迟。不信你等一两分钟试试!
 
你可以在SQL SERVER中再开一个用户,DEFAULT 数据库为master,恢复时先切换到新开的用户,恢复后再切换回去,我就是这么用的.没问题.
 
同意liang1 的!!!!
先要把所有与你要恢复的数据库建立的连接断开,
然后在一个与MASTER建立的连接中执行恢复操作.
如果安装的SQL _SERVER 路径 和
你备份的来源的sql server的路径
不一致你的语句还会报错
 
我就是先把adoconnection.connected:=false;
然后把连接转道master中去,但是还是需要等一会,
该怎样解决呢?
 
MasterConnection 连接 master 库, ADOQuery1, ADOCommand1 连 MasterConnection
with ADOQuery1 do
begin
close;
sql.text:='select spid from master.dbo.sysdatabases a,master.dbo.sysprocesses b'
+' where a.dbid=b.dbid and name='''+databasename+'''';
open;
while not eof do
begin
with ADOCommand1 do
begin
CommandText :='kill '+fieldbyname('spid').asstring;
Execute;
end
next;
end;
end;
//然后恢复;
 
应该这样:
restore database yourdb from 'c:/data1.dat'
with move '数据库逻辑文件名' to 'c:/.....abc.mdf'

 
多人接受答案了。
 
我也想请教同样的问题,程序在单机版上运行,能实现sql server数据库备份与恢复。希望各位好心的大哥大姐能把源代码发给我,我有急用。谢谢!我的邮箱是wawxh@eyou.com
 
顶部