最近在做一个在java服务中从硬盘上备份文件还原数据库的功能,语句如下:
restore database ncdb_1034 from disk = 'D:\bak\20130906.bak' WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY , REPLACE 执行后报错如图:
用with move 命令重新指定物理位置之后可以成功还原,但是由于生产环境中可能存在服务器与数据库不在同一台机器上的情况无法明确指定磁盘位置的情况,这条路走不通。请教各位大牛有什么方法可以进行还原。另外还有几点疑问:
1.我的数据文件如下:
NDF文件的作用到底是什么,为什么每个库都有自己的mdf主文件和ldf日志文件,而NDF文件公用一个;
2.当时我已经使用kill命令终止所有用户进程,甚至关掉了java服务,只开了一个Management studio,为什么 我的报错信息里还说ndf文件被ncdb_0912这个库占用?