RESTORE FILELISTONLY FROM DISK ='D:\DataSQL\BakFile\pubs.bak' _ 数据库安装工具_连载_4
在查询分析器中执行: RESTORE FILELISTONLY FROM DISK = 'D:\DataSQL\BakFile\pubs.bak'
根据查询类型判断Type(D、L),再取得对应的LogicalName。
FDQuery1.SQL.Text := 'RESTORE FILELISTONLY FROM DISK = N''' + LabeledEdit1.Text + _FileLst.Strings[i] + '''';
FDQuery1.OpenOrExecute;

--------------------------------------------------------------------------------
下面这句也是可以这样查询处理的, select name,filename from sys.sysaltfiles where dbid=db_id('pubs')
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面这个步骤放在此处,只是为了对比
//下面是自己试验建立的一个文件(不带*.ndf),可以正常恢复
RESTORE filelistonly FROM DISK='d:\datasql\bak1\Posmanagement_main.bak'

-------------------------------------------------------------------------------------------------------------------------------------------------------------------
RESTORE FILELISTONLY FROM DISK='d:\datasql\bakfile\Posmanagement_main_A.bak'
恢复数据库时,也用了 PosManagement_Data(也不可)
//SSMS可恢复带 *.ndf的文件,需要留心这里的参数...

命令模式下,对于带有 *.ndf的 *.bak不能还原的问题,检查看看是需要加哪个参数才可恢复...... ?
------------------------------------------------------------------------------------------------------------------
// 为了不破坏已备份好的数据库此处就没演示恢复的数据库了,
// “端口”问题修改应该简单,对加密文件恢复待心里安静时再考虑,为了生活似乎必须要转向电商类的了
// 但还有2点没完成, Postmanagement_main中有些存储过程、自定义函数还是值得学习下的,难度到没什么难的,多了解些而已。
// 1) 修改端口的问题,在DB Client配置中与注册表中不一致
// 2)对加密后的*.bak文件不可批量恢复(只能一个个恢复),对没有加密的*.bak可批量恢复.
------------------------------------------------------------------------------------------------------------------
碰到的问题: 1) 带*.ndf的文件,在sqlcmd模式中,使用Restore Database... ,不可恢复 (也许是自己没找到方法) --失败
2) 使用Restore恢复数据库时,是否可不经过Move过程,直接恢复到MSSQL安装路径之外的 路径 --(使用Move后,可以做到)
2) 对备份文件(如*.bak文件名长了,可能被截断,如 Posmanagement_main_SelfCreate , 有空再试试) --这个暂时不理会它。
--->>>此项没有问题,截断是因为在程序中处理某个路径下的文件名时,对字符串做了处理,RightStr-->去掉扩展名的处理
浙公网安备 33010602011771号