SQL数据库恢复 我从一台机子用以下语句备份了SQL 数据库'BACKUP DATABASE [TEST] TO DISK = ' + #39 + 'C:\KKK.BAK' + #39;怎样C:\KKK.BAK' 恢复到另一台机子的SQL数据库?注意:数据库相同,机子不同 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 restore database ip或主机名\\c:kkk.bak RESTORE DATABASE kkk FROM DISK = 'c:/kkk.bak' 简单说:我的KKK是从一台机的D:\sql\data\ 备份过来的,现在另一台你的SQL 目录是 (D:\tss\sql\data),当我执行'RESTORE DATABASE [test] FROM DISK = ' + #39 + 'C:\KKK.BAK' + #39+报错是:“物理地址:D:\sql\data\”错误。 [test]是数据库名????RESTORE DATABASE 数据库名 FROM DISK ='C:\KKK.BAK' IORILI: test,是数据库名,如果我是在同一台机执行'RESTORE DATABASE [test] FROM DISK = ' + #39 + 'C:\KKK.BAK' + #39+是没问题的,现在的问题好象SQL在两台机子上的路径不同而产生错误 我的是这样的,你稍作修改procedure TForm1.Button15Click(Sender: TObject); var sBackupPath :string ; sBakFileName:string; RESTORE,s,q,d,t:string;begin q := ' RESTORE DATABASE [calling] FROM DISK = ' + #39 + 'C:\calling.BAK' + #39+'WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY , '; d:=' move N''calling_data'' to N''D:\software\Program Files\Microsoft SQL Server\MSSQL\Data\calling.mdf'''; t:=',move N''calling_log'' to N''D:\software\Program Files\Microsoft SQL Server\MSSQL\Data\calling_log.ldf'''; RESTORE := s+q+d+t; adoconnection3.Connected := false; Adoconnection3.ConnectionString := 'Provider=SQLOLEDB.1;' +'Integrated Security=SSPI;' +'Persist Security Info=False' +';Initial Catalog=master;Data Source=KELLER'; Adoconnection3.Open ; Adoquery3.Close ; Adoquery3.SQL.Clear ; adoquery3.SQL.Add('ALTER DATABASE [calling] SET OFFLINE WITH ROLLBACK IMMEDIATE'); adoquery3.ExecSQL ; Adoquery3.Close ; Adoquery3.SQL.Clear ; adoquery3.SQL.Add(RESTORE); adoquery3.ExecSQL ; Adoconnection3.Open ; Adoquery3.Close ; Adoquery3.SQL.Clear ; adoquery3.SQL.Add('ALTER DATABASE [calling] SET ONLINE WITH ROLLBACK IMMEDIATE'); adoquery3.ExecSQL ;end 新手问题,请大家帮忙看下! 关于窗体继承,和普通的类继承是否一样? 请教读取一个文件中32位浮点数据的问题 高手请看:如何控制Form上的MainMenu弹出菜单 求机器名 关于如何修改ListView中每项的SubItem值的问题?up有分 编译程序时选中build with runtime package与不选择有什么区别? 关于自定义报表预览的问题,请大家帮我看一下,谢谢! InternetReadFile 执行过程中断网 引发死机的问题(delphi) 急急急.!求一個查詢方法並生成樹.!(在線等...) use 有何不同? 极其郁闷,散分!
FROM DISK = 'c:/kkk.bak'
我的KKK是从一台机的D:\sql\data\ 备份过来的,
现在另一台你的SQL 目录是 (D:\tss\sql\data),
当我执行
'RESTORE DATABASE [test] FROM DISK = ' + #39 + 'C:\KKK.BAK' + #39+
报错是:“物理地址:D:\sql\data\”错误。
RESTORE DATABASE 数据库名 FROM DISK ='C:\KKK.BAK'
test,是数据库名,
如果我是在同一台机执行'RESTORE DATABASE [test] FROM DISK = ' + #39 + 'C:\KKK.BAK' + #39+
是没问题的,现在的问题好象SQL在两台机子上的路径不同而产生错误
你稍作修改procedure TForm1.Button15Click(Sender: TObject);
var sBackupPath :string ;
sBakFileName:string;
RESTORE,s,q,d,t:string;
begin
q := ' RESTORE DATABASE [calling] FROM DISK = ' + #39 + 'C:\calling.BAK' + #39+'WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY , ';
d:=' move N''calling_data'' to N''D:\software\Program Files\Microsoft SQL Server\MSSQL\Data\calling.mdf''';
t:=',move N''calling_log'' to N''D:\software\Program Files\Microsoft SQL Server\MSSQL\Data\calling_log.ldf''';
RESTORE := s+q+d+t;
adoconnection3.Connected := false; Adoconnection3.ConnectionString :=
'Provider=SQLOLEDB.1;'
+'Integrated Security=SSPI;'
+'Persist Security Info=False'
+';Initial Catalog=master;Data Source=KELLER';
Adoconnection3.Open ;
Adoquery3.Close ;
Adoquery3.SQL.Clear ;
adoquery3.SQL.Add('ALTER DATABASE [calling] SET OFFLINE WITH ROLLBACK IMMEDIATE');
adoquery3.ExecSQL ; Adoquery3.Close ;
Adoquery3.SQL.Clear ;
adoquery3.SQL.Add(RESTORE);
adoquery3.ExecSQL ;
Adoconnection3.Open ;
Adoquery3.Close ;
Adoquery3.SQL.Clear ;
adoquery3.SQL.Add('ALTER DATABASE [calling] SET ONLINE WITH ROLLBACK IMMEDIATE');
adoquery3.ExecSQL ;
end